Android 使用 okhttp3和retrofit2 進行單文件和多文件上傳
更新時間:2022年10月27日 10:48:14 作者:_MWY
這篇文章主要介紹了Android 使用 okhttp3和retrofit2 進行單文件和多文件上傳,開發(fā)項目中需要進行單文件多文件的上傳功能,下面演示的ApiResponse是自己分裝的返回值,要根據(jù)自己的項目來完成,需要的朋友可以參考下
前言
開發(fā)項目中需要進行單文件多文件的上傳功能,下面演示的ApiResponse是自己分裝的返回值,要根據(jù)自己的項目來完成。使用的mvvm框架,kotlin協(xié)程。
看下大體思路和傳參形式,僅供參考
一、單文件上傳
1、apiService中
@Multipart @POST("xxxx/xxx") suspend fun upload( @Part part: MultipartBody.Part, @Query("code") code: String ): ApiResponse<String>
2、acivity代碼
val file = File(it) val requestBody: RequestBody = RequestBody.create(MediaType.parse("image/*"), file) val part = MultipartBody.Part.createFormData("file", file.getName(), requestBody) mViewModel.upload(part)
二、多文件上傳
1、apiservice中
@POST("xxx/xxxxs") suspend fun uploads( @Body part: MultipartBody, @Query("code") code: String ): ApiResponse<String>
2、acivity代碼
val builder = MultipartBody.Builder() builder.setType(MultipartBody.FORM) getDataList()?.filter { !it.filePath.isNullOrEmpty() }.forEach { val file = File(it.filePath) builder.addFormDataPart( "files", file.getName(), RequestBody.create(MediaType.parse("image/jpg"), file) ) } mViewModel.uploads(builder.build())
總結
記錄總結,要根據(jù)自己的框架進行參考改造。
到此這篇關于Android 使用 okhttp3和retrofit2 進行單文件和多文件上傳的文章就介紹到這了,更多相關Android 單文件和多文件上傳內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!
相關文章
Android下拉刷新SwipeRefreshLayout控件使用方法
這篇文章主要介紹了Android下拉刷新SwipeRefreshLayout控件使用方法,具有一定的參考價值,感興趣的小伙伴們可以參考一下2016-11-11Android中使用PagerSlidingTabStrip實現(xiàn)導航標題的示例
本篇文章主要介紹了Android中使用PagerSlidingTabStrip實現(xiàn)導航標題的示例,具有一定的參考價值,有興趣的可以了解一下。2017-01-01