首頁 > Java > java教程 > 如何在 Android 6 及更高版本中取代 org.apache.http.entity.FileEntity 進行檔案上傳?

如何在 Android 6 及更高版本中取代 org.apache.http.entity.FileEntity 進行檔案上傳?

Susan Sarandon
發布: 2024-11-30 05:56:13
原創
687 人瀏覽過

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

從Android 6 中的org.apache.http.entity.FileEntity 遷移

將應用程式升級到Android 6 會導致與已與已與已與棄用的組織發生衝突。 apache.http 庫。不再支援先前用於上傳檔案的 FileEntity 類別。開發人員尋求實現更簡單的替代解決方案。

一種方法是將compileSdkVersion 維持在21,允許應用程式使用FileEntity 類別進行編譯。但是,此解決方法並沒有解決棄用問題,並且忽略了 Google 放棄 HttpURLConnection 的意圖。

因此,鼓勵開發人員探索替代庫。

檔案的替代庫上傳

  • java.net.HttpUrlConnection:內建經典的Java HttpURLConnection提供了一個替代方案,儘管API不太友善。
  • Apache 的 Android HttpClient: 獨立的 Apache 包裝提供了專用的 HttpClient Android。
  • OkHttp(建議): 具有使用者友善的 API,用於檔案發佈和分段表單上傳。
  • AndroidAsync: 非同步 HTTP和 WebSocket 用戶端程式庫。

OkHttp 檔案範例上傳

OkHttp 提供了一個簡單的 API 用於檔案上傳:

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();
登入後複製

以上是如何在 Android 6 及更高版本中取代 org.apache.http.entity.FileEntity 進行檔案上傳?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
作者最新文章
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板