was successfully added to your cart.

안드로이드 파일 업로드 예제

Por 02/08/2019 Sem categoria Sem comentários

FileUploadService에 대 한 호출 하 고 그것은 의도 서비스의 확장 될 것입니다. 왜 우리가 AsyncTask 대신 의도 서비스를 선택 했는지 궁금 할 수 있습니다. 주요 결정 지점은 AsyncTask 실행 하는 동안 기본 UI 스레드를 차단 하는 것입니다. 우리는 그것을 필요로하지 않습니다. 우리의 파일 업로드는 사용자가 몰래 백그라운드에서 발생하므로 작업을 수행하고 앱을 잠그지 않는 것이 필요합니다. IntentService는 별도의 작업자 스레드에서 실행되며 작업에 적합합니다. 코드에 대해 잘 모르지만 두 작업 코드를 모두 제공합니다: 이것은 모든 유형의 파일에 대한 것입니다. 나는 이미지, 오디오 및 비디오 파일에 사용했다. 압축 및 파일 변환은 쉽게 압축할 수 있기 때문에 미디어 파일에서 매우 유용합니다. 이미지의 경우 네이티브 Bitmap 클래스를 사용하여 이미지 크기를 조정하고 줄일 수 있습니다.

다음은 시각적 데이터의 손실을 최소화하면서 이미지 크기를 200KB로 줄이는 코드의 예입니다. OkHttp 클라이언트의 인터셉터를 만들고 재시도 번호를 원하는 것으로 설정합니다. 이 숫자를 3으로 설정하여 클라이언트가 2xx 또는 3xx의 응답 코드를 받으면 요청을 3번 더 다시 시도합니다. 요청은 변경하지 않는 한 원래 요청과 동일한 형식으로 전송됩니다. 즉, 파일을 보내고 성공 응답을 받지 못하면 동일한 파일을 3 번 더 보내게됩니다. 이것은 당신의 최종 목표에 도움이 될 수도 또는 하지 않을 수 있습니다. 이 섹션에서는 Java 또는 Groovy를 사용하여 서버에서 파일을 받는 방법을 보여 드리겠습니다. 우리는 그루비를 사용하지만 Java에서 수행하는 방법과 거의 동일합니다. 여기에 응용 프로그램 / build.gradle 파일을 엽니 다 = = = buildConfigField (“문자열”, “BASE_URL”, “””http://apps-point.com/api2/”)파일을 받는 동안 일부 오류가 발생할 수 있습니다. 이것은 우리의 안드로이드 이미지 업로드 예제를 완료합니다. Retrofit2는 최고의 안드로이드 네트워크 라이브러리 중 하나이며 멀티 파트 업로드 파일에 대한 지원은 매우 간단합니다. 서버에 파일을 저장하기 위해 스프링 프레임 워크 MultipartFile.transferTo() 방법을 사용할 수 있습니다.

우리는 부분적으로 요청을 보내고 있기 때문에, 우리는 뿐만 아니라 부분에서 그것을 받을 필요가 있을 것 이다. 파일 업로드에 PHP 서버 코드, 나는 청크를 통해 수행 파일 업로드 완료, 누군가가 내가 청크및 관련 안드로이드 파일 업로드 코드를 통해 업로드 오른쪽 코드 파일을 보낼 수 있도록 도와주세요 프로세스가 종료되는 경우, 진행 중인 업로드가 중단됩니다. 그러나 서버에서 업로드 세션을 다시 시작하여 프로세스가 다시 시작되면 업로드를 계속할 수 있습니다. 이렇게 하면 파일의 시작 부터 업로드를 시작하지 않아 시간과 대역폭을 절약할 수 있습니다. 이제 파일을 업로드했습니다, 이제 클라우드 스토리지에서 다운로드하는 방법을 알아 보자. 클라우드 저장소에 파일을 업로드하려면 먼저 파일 이름을 포함하여 파일의 전체 경로에 대한 참조를 만듭니다.