1.代码
package chen.utils;
import okhttp3.*;
import java.io.File;
import java.io.IOException;
import java.util.Map;
public class XyOkHttpUtil {
public static String httpFileUploadPro(String url, Map<String, Object> paramsMap) {
OkHttpClient client = new OkHttpClient().newBuilder().build();
MultipartBody.Builder builder = new MultipartBody.Builder();
builder.setType(MediaType.parse("multipart/form-data"));
for (String key : paramsMap.keySet()) {
Object object = paramsMap.get(key);
if (object instanceof File[]) {
File[] files = (File[]) object;
for (File file : files) {
builder.addFormDataPart(key, file.getName(), RequestBody.create(null, file));
}
} else if (object instanceof File) {
File file = (File) object;
builder.addFormDataPart(key, file.getName(), RequestBody.create(null, file));
} else {
builder.addFormDataPart(key, object.toString());
}
}
RequestBody body = builder.build();
Request request = new Request.Builder().url(url).post(body).build();
String str = "";
try (Response response = client.newCall(request).execute()) {
str = response.body().string();
} catch (IOException e) {
e.printStackTrace();
}
return str;
}
}
2.使用
public static void main(String[] args) {
File file[] = new File[]{
new File("d:\\Users\\chen\\Desktop\\1.txt"),
new File("d:\\Users\\chen\\Desktop\\2.txt"),
};
String url = "http://15.21.66.157/demo/mydemo/upload";
Map<String, Object> paramsMap = new HashMap<String, Object>();
paramsMap.put("files", file);
paramsMap.put("token", "dfger_sdfsd_fsdfsd");
System.out.println(httpFileUploadPro(url, paramsMap));
}