Rumah >Java >javaTutorial >Bagaimana untuk Menggantikan org.apache.http.entity.FileEntity untuk Muat Naik Fail dalam Android 6 dan Ke Atas?

Bagaimana untuk Menggantikan org.apache.http.entity.FileEntity untuk Muat Naik Fail dalam Android 6 dan Ke Atas?

Susan Sarandon
Susan Sarandonasal
2024-11-30 05:56:13627semak imbas

How to Replace org.apache.http.entity.FileEntity for File Uploads in Android 6 and Above?

Memindahkan daripada org.apache.http.entity.FileEntity dalam Android 6

Meningkatkan apl kepada Android 6 memperkenalkan konflik dengan org yang sudah tidak digunakan lagi. perpustakaan apache.http. Kelas FileEntity, yang sebelum ini digunakan untuk memuat naik fail, tidak lagi disokong. Pembangun mencari penyelesaian alternatif dengan pelaksanaan yang lebih mudah.

Salah satu pendekatan ialah mengekalkan compileSdkVersion pada 21, membenarkan apl menyusun menggunakan kelas FileEntity. Walau bagaimanapun, penyelesaian ini tidak menangani isu penamatan dan mengabaikan niat Google untuk beralih daripada HttpURLConnection.

Oleh itu, pembangun digalakkan untuk meneroka perpustakaan alternatif.

Perpustakaan Alternatif untuk Fail Muat naik

  • java.net.HttpUrlConnection: HttpURLConnection Java klasik terbina dalam menyediakan alternatif, walaupun dengan API yang kurang mesra pengguna.
  • HttpClient Apache untuk Android: Pembungkusan Apache bebas menawarkan HttpClient untuk Android.
  • OkHttp (Disyorkan): Mempunyai API yang mesra pengguna untuk penyiaran fail dan muat naik borang berbilang bahagian.
  • AndroidAsync: Satu klien HTTP dan WebSocket tak segerak perpustakaan.

Contoh OkHttp untuk Memuat Naik Fail

OkHttp menawarkan API mudah untuk muat naik fail:

MultipartBody multipartBody = new MultipartBody.Builder().setType(MultipartBody.FORM)
        .addFormDataPart("image", "filename.png", RequestBody.create(MediaType.parse("image/png"), file))
        .build();

Request request = new Request.Builder().url(server_url).post(multipartBody).build();

Atas ialah kandungan terperinci Bagaimana untuk Menggantikan org.apache.http.entity.FileEntity untuk Muat Naik Fail dalam Android 6 dan Ke Atas?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn