我使用okhttp作为我的http客户端。我认为它是一个很好的API,但文档不够详细。
如何使用它进行带有文件上传的HTTP POST请求?
public Multipart createMultiPart(File file){
Part part = (Part) new Part.Builder().contentType("").body(new File("1.png")).build();
//how to set part name?
Multipart m = new Multipart.Builder().addPart(part).build();
return m;
}
public String postWithFiles(String url,Multipart m) throws IOException{
ByteArrayOutputStream out = new ByteArrayOutputStream();
m.writeBodyTo(out)
;
Request.Body body = Request.Body.create(MediaType.parse("application/x-www-form-urlencoded"),
out.toByteArray());
Request req = new Request.Builder().url(url).post(body).build();
return client.newCall(req).execute().body().string();
}
我的问题是:
- 如何设置部件名称?在表单中,文件应命名为file1。
- 如何在表单中添加其他字段?