如何使用okhttp上传文件?
我使用okhttp作为我的httpclient。我认为这是一个很好的api,但文档并不那么详细。
如何使用它来发出http发布请求并上传文件?
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。
- 如何在表单中添加其他字段?