API 23으로 업그레이드: org.apache.http.entity.FileEntity 지원 중단 해결
Android 6(Marshmallow)의 등장 ), org.apache.http 라이브러리는 더 이상 사용되지 않습니다. 이는 파일 업로드를 위해 FileEntity 클래스를 사용하는 개발자에게 어려운 과제입니다.
파일 업로드를 위한 오래된 코드
다음 코드 조각은 더 이상 사용되지 않는 접근 방식을 보여줍니다.
HttpClient httpClient = new DefaultHttpClient(); File file = new File(attr.Value); String url = server_url; HttpPost request = new HttpPost(url); FileEntity fileEntity = new FileEntity(file, "image/png"); request.setEntity(fileEntity); HttpResponse response = httpClient.execute(request); String output = getContent(response.getEntity().getContent());
대안 솔루션
FileEntity 클래스에 대한 몇 가지 대안은 다음과 같습니다.
파일 업로드를 위한 OkHttp 솔루션
사용 OkHttp는 다음 코드를 사용하여 유사한 파일 업로드 기능을 구현할 수 있습니다.
OkHttpClient client = new OkHttpClient(); RequestBody requestBody = new MultipartBody.Builder() .setType(MultipartBody.FORM) .addFormDataPart("file", file.getName(), RequestBody.create(MediaType.parse("image/png"), file)) .build(); Request request = new Request.Builder() .url(server_url) .post(requestBody) .build(); Response response = client.newCall(request).execute(); String result = response.body().string();
이 솔루션을 사용하면 최신 Android 지침을 준수하면서 파일 업로드에 대한 보다 간결하고 관리하기 쉬운 접근 방식을 사용할 수 있습니다.
위 내용은 Android에서 파일 업로드를 위해 더 이상 사용되지 않는 `org.apache.http.entity.FileEntity`에서 마이그레이션하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!