记录贴
- 参数存放在map中
- 文件的地址放在Constant.filePath中
- 我这里的文件路径已经是完整的,有一些需要这样来获取一个文件
File file = new File(Environment.getExternalStorageDirectory(), “Pictures”);
详情点这里
public static void post3(String address, okhttp3.Callback callback, Map<String,String> map)
{
OkHttpClient client = new OkHttpClient();
MultipartBody.Builder builder = new MultipartBody.Builder();
if (map!=null)
{
for (Map.Entry<String,String> entry:map.entrySet())
{
builder.addFormDataPart(entry.getKey(),entry.getValue());
}
}
File file = new File(CommonVari.filePath);
if(file.exists()){
Log.d(TAG, "post3: 文件存在");
String TYPE = "application/octet-stream";
RequestBody fileBody = RequestBody.create(MediaType.parse(TYPE),file);
RequestBody requestBody = builder
.setType(MultipartBody.FORM)
.addFormDataPart("detail_image",file.getName(),fileBody)
.build();
Request request = new Request.Builder()
.url(address)
.post(requestBody)
.addHeader("Authorization","Bearer "+CommonVari.token)
.build();
client.newCall(request).enqueue(callback);
}else {
Log.d(TAG, "post3: 文件不存在");
RequestBody requestBody = builder
.setType(MultipartBody.FORM)
.build();
Request request = new Request.Builder()
.url(address)
.post(requestBody)
.addHeader("Authorization","Bearer "+CommonVari.token)
.build();
client.newCall(request).enqueue(callback);
}
}