Fel*_*lix 2 apache-httpclient-4.x
由于代码非常干净,因此我始终使用httpclient fluent api来发布消息。例如:
String html = Request.Post("URL")
.connectTimeout(2000).socketTimeout(2000)
.bodyForm(Form.form().add("type", "image").build(), Charset.forName("UTF8"))
.execute().returnContent().asString();
Run Code Online (Sandbox Code Playgroud)
阅读httpclient文档后,我发现了这一点:
MultipartEntityBuilder builder = MultipartEntityBuilder.create();
builder.setMode(HttpMultipartMode.BROWSER_COMPATIBLE);
builder.setCharset(Charset.forName(CHARSET));
builder.addBinaryBody("media", bytes, ContentType.MULTIPART_FORM_DATA, fileName);
Run Code Online (Sandbox Code Playgroud)
问题是如何使用流畅的API实现此功能。
我找到了,.bodyFile(new File(""), ContentType.MULTIPART_FORM_DATA)
但我不知道如何设置文件的表单参数名称。
HttpEntity entity = MultipartEntityBuilder.create()
.setMode(HttpMultipartMode.BROWSER_COMPATIBLE)
.setCharset(Charset.forName(CHARSET))
.addBinaryBody("media", bytes, ContentType.MULTIPART_FORM_DATA, fileName)
.build();
String html = Request.Post("URL")
.connectTimeout(2000)
.socketTimeout(2000)
.body(entity)
.execute().returnContent().asString();
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
1476 次 |
最近记录: |