使用 OkHttpClient 模拟表单提交请求,普通字段加文件上传
一、maven依赖
<dependency>
<groupId>com.squareup.okhttp3</groupId>
<artifactId>okhttp</artifactId>
<version>3.14.2</version>
</dependency>
二、请求代码
public static void uploadFile(String url, byte[] file,String other) {
OkHttpClient client = new OkHttpClient();
RequestBody fileBody = RequestBody.create(MediaType.parse("video/mp4"), file);//将file转换成RequestBody文件 这里以MP4视频为例
RequestBody requestBody = new MultipartBody.Builder()
.setType(MultipartBody.FORM)
.addFormDataPart("其他参数字段名", 其他参数值)
.addFormDataPart("文件参数字段名", 文件名, fileBody)
.build();
Request request = new Request.Builder()
.url(url)
.post(requestBody)
.build();
try {
Response response = client.newCall(request).execute();
int code = response.code();
if(code==200){
log.info("上传成功");
}else {
log.info("上传出错 {}",response.body().string());
}
} catch (IOException e) {
e.printStackTrace();
}
}