ホームページ >Java >&#&チュートリアル >Android でのファイルアップロードのために非推奨の `org.apache.http.entity.FileEntity` から移行するにはどうすればよいですか?
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 中国語 Web サイトの他の関連記事を参照してください。