Retrofit2文件上传与下载

节选自:Retrofit2文件上传与下载


第二步:创建用于描述网络请求的接口

public interface Api {
    /**
     * 上传
     * Multipart 这个注解代表多表单上传
     *
     * @param partList 表单信息
     * @return .
     */
    @Multipart
    @POST("服务器地址(就创建retrofit设置的基站地址后面的具体地址)")
    Call<BaseBean> upLoading(@Part List<MultipartBody.Part> partList);
}

第三步:创建表单,里面存储服务器本接口所需要的数据;

参数添加
MultipartBody.Builder builder = new MultipartBody.Builder()
        .setType(MultipartBody.FORM)
        //在这里添加服务器除了文件之外的其他参数
        .addFormDataPart("参数1", "值1")
        .addFormDataPart("参数2", "值2");
创建文件(你需要上传到服务器的文件)
File file = new File(file1Location); //file1Location文件的路径 ,我是在手机存储根目录下创建了一个文件夹,里面放着了一张图片;
设置文件的格式
RequestBody imageBody = RequestBody.create(MediaType.parse("multipart/form-data"), file);

//添加文件(uploadfile就是你服务器中需要的文件参数)

builder.addFormDataPart("uploadfile", file.getName(), imageBody);
生成接口需要的list
 List<MultipartBody.Part> parts = builder.build().parts();

发表评论