public static void postFile(final String url, final Map<String, String> map, File file, Callback callback) {
// form 表单形式上传
MultipartBody
.Builder requestBody = new MultipartBody
.Builder()
.setType(MultipartBody
.FORM)
if (file != null) {
// MediaType
.parse() 里面是上传的文件类型。
RequestBody body = RequestBody
.create(MediaType
.parse(
"image/*"), file)
String filename = file
.getName()
// 参数分别为, 请求key ,文件名称 , RequestBody
requestBody
.addFormDataPart(
"avata", filename, body)
}
if (map != null) {
// map 里面是请求中所需要的 key 和 value
Set<Map
.Entry<String, String>> entries = map
.entrySet()
for (Map
.Entry entry : entries) {
String key = valueOf(entry
.getKey())
String value = valueOf(entry
.getValue())
Log
.d(
"HttpUtils",
"key=="+key+
"value=="+value)
requestBody
.addFormDataPart(key,value)
}
}
Request request = new Request
.Builder()
.url(url)
.post(requestBody
.build())
.build()
// readTimeout(
"请求超时时间" , 时间单位)
client
.newBuilder()
.readTimeout(
5000, TimeUnit
.MILLISECONDS)
.build()
.newCall(request)
.enqueue(callback)
}
转载请注明原文地址: https://ju.6miu.com/read-668540.html