OkHttp 的 post 在上传文件的同时,也要携带请求参数的方法。
implementation 'com.squareup.okhttp3:okhttp:3.14.2'
postman测试:
/**
* 上传文件
*/
public void postFile() throws IOException {
/**
* 写数据到文件中,只是模拟下,
*/
File file = new File(getFilesDir(), "file-data.json");
FileOutputStream fos = openFileOutput(file.getName(),MODE_PRIVATE);
BufferedWriter writer = new BufferedWriter(new OutputStreamWriter(fos));
writer.write("写入文件!!!");
writer.close();
fos.close();
/**
* 上传文件到服务器中
*/
MediaType MEDIA_TYPE_MARKDOWN = MediaType.parse("text/x-markdown; charset=utf-8");
OkHttpClient client = new OkHttpClient();//获取OkHttpClient实例
MultipartBody.Builder requestBody=new MultipartBody.Builder().setType(MultipartBody.FORM);//文件和json参数共同上传
if (file!=null){
//添加文件到form-data
RequestBody body = RequestBody.create