0
也许我的问题与this one是多余的,但我找不到如何处理多部分HTTP请求。在我的Servlet中,在服务器端如何处理多部分POST?
我写了一个使用POST发送文件和字符串的HTTP请求。如何在服务器端获取我的Servlet?
这是我做的。我是否正确?
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
Gson gson = new Gson();
Status status = new Status();
boolean isMultipart = ServletFileUpload.isMultipartContent(request);
if(isMultipart){
status.setSuccess(true);
status.setDescription("It is OK.");
DiskFileItemFactory factory = new DiskFileItemFactory();
factory.setSizeThreshold(MAX_MEMORY_SIZED);
factory.setRepository(new File(ADRESS_WHERE_I_WANT_TO_PUT_THE_FILE));
ServletFileUpload upload = new ServletFileUpload(factory);
upload.setSizeMax(MAX_FILE_SIZE_TO_BE_UPLOADED);
try {
List<FileItem> items = upload.parseRequest(request);
Iterator iter = items.iterator();
while (iter.hasNext()) {
... // WHAT TO DO HERE TO GET MY STRING AND MY FILE ???
}
}
else{
status.setSuccess(false);
status.setDescription("Not multipart.");
}
response.setContentType("application/json;charset=UTF-8");
response.setCharacterEncoding("UTF-8");
PrintWriter output = response.getWriter();
output.write(gson.toJson(status));
output.flush();
}
旁边的答案有同样来自于Apache的一些库,它可以让你做的正是那种请求 – 2012-08-07 15:58:10
的,但你怎么做呢? – cleroo 2012-08-08 07:19:42
查看http apache中多线程和多部分的链接http://evgenyg.wordpress.com/2010/05/01/uploading-files-multipart-post-apache/,http://pro-programmers.blogspot .de/2009/06/apache-httpclient-multi-threads.html – 2012-08-08 08:18:55