使用Retrofit2.0上傳單張圖片或多張圖片到MVC spring服務(wù)器

一 定義上傳圖片的接口

@Multipart

@POST("fileUpload.zy")

Call uploadImage(@Part() MultipartBody.Part file);//單張圖片上傳

@Multipart

@POST("fileUpload.zy")

Call uploadManyImage(@Part() MultipartBody.Part [] file);//多張圖片上傳

}


二、單張圖片上傳

1、創(chuàng)建RequestBody?

File file = new File(path);

RequestBody requestFile =

RequestBody.create(MediaType.parse("multipart/form-data"), file);

2、創(chuàng)建MultipartBody.Part,其中需要注意第一個參數(shù)需要與服務(wù)器對應(yīng)

MultipartBody.Part part = MultipartBody.Part.createFormData("myfiles", file.getName(), requestFile);

3、調(diào)用uploadImage上傳圖片

IUserBiz iUserBiz =retrofit.create(IUserBiz.class);

Call call = iUserBiz.uploadImage(part);

call.enqueue(callback);

三,多張圖片上傳

比如需要同時上傳三張圖片

首先創(chuàng)建3個RequestBody;

File file1= new File(path1);

File file2= new File(path2);

File file3= new File(path3);

RequestBody requestFile1 =

RequestBody.create(MediaType.parse("multipart/form-data"), file1);

RequestBody requestFile2 =

RequestBody.create(MediaType.parse("multipart/form-data"), file2);

RequestBody requestFile3 =

RequestBody.create(MediaType.parse("multipart/form-data"), file3);

2、創(chuàng)建MultipartBody.Part的數(shù)組

MultipartBody.Part [] part =newMultipartBody.Part[3];

下面第一個參數(shù)還是與服務(wù)器的對應(yīng)

part[0] =MultipartBody.Part.createFormData("myfiles", file1.getName(), requestFile1);

part[1] =MultipartBody.Part.createFormData("myfiles", file2.getName(), requestFile2);

part[2] =MultipartBody.Part.createFormData("myfiles", file3.getName(), requestFile3);

3、調(diào)用uploadManyImage上傳圖片

IUserBiz iUserBiz =retrofit.create(IUserBiz.class);

Callcall = iUserBiz.uploadManyImage(part);

call.enqueue(callback);

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容