【发布时间】:2015-12-15 17:03:02
【问题描述】:
我正在尝试使用 http 多部分请求发送图像(稍后我将添加另一个图像)
我这样做了:
HttpClient client = HttpClientBuilder.create().build();
HttpPost httpPost = new HttpPost(
"http://localhost:8080/ServletExample1/multipart1");
httpPost.addHeader("Content-Type",
"multipart/related; boundary=HereItGoes");
MultipartEntityBuilder builder = MultipartEntityBuilder.create();
FileBody bin = new FileBody(new File("./test.txt"));
builder.addPart("bin", bin);
HttpEntity entity = builder.build();
httpPost.setEntity(entity);
HttpResponse response = client.execute(httpPost);
String responseString = new BasicResponseHandler()
.handleResponse(response);
System.out.println(responseString);
在服务器上,我打印零件的数量,使用这个:
protected void doPost(HttpServletRequest request,
HttpServletResponse response) throws ServletException, IOException {
if (ServletFileUpload.isMultipartContent(request)) {
Iterator<Part> partsIterator = request.getParts().iterator();
System.out.println("The number of parts is :" + request.getParts().size());
答案总是零,我做错了什么?
更新 1
作为@Jon Skeet,我在添加文件之前创建了请求。现在我重新排序了将execute 作为最后一行的代码,我仍然得到相同的东西,在服务器上的零件数量仍然为零
【问题讨论】:
-
突然有人投反对票 :) 没有任何评论,任何事情,他/她只是投反对票。大声笑
标签: java servlets http-post multipart