Android studio okhttp3 三种上传数据模式

第一种:单纯上传键值对数据

OkHttpClient client=new OkHttpClient();

//一种:参数请求体
FormBody paramsBody=new FormBody.Builder()
        .add("id",currentPlan.getPlanId()+"")
        .add("name",currentPlan.getName())
        .add("volume",currentPlan.getVolume())
        .add("type",currentPlan.getType()+"")
        .add("mode",currentPlan.getMode()+"")
        .build();

第二种:文件上传

MediaType type=MediaType.parse("application/octet-stream");//"text/xml;charset=utf-8"
File file=new File("/data/data/com.example.company/files/plan/plans.xml");
RequestBody fileBody=RequestBody.create(type,file);

第三者:混合上传

RequestBody multipartBody = new MultipartBody.Builder()
        .setType(MultipartBody.ALTERNATIVE)
.addPart(Headers.of(
            "Content-Disposition",
            "form-data; name=\"params\"")
                ,paramsBody)
        .addPart(Headers.of(
            "Content-Disposition",
            "form-data; name=\"file\"; filename=\"plans.xml\"")
                , fileBody)
            .build();

你可能感兴趣的:(移动端)