我一直试图通过在JBOSS 5.1上使用apache commons文件上传来解析多部分请求。 问题是当解析请求时,FileItem列表没有被填充。(FileItem列表为空)这是在Windows上但不在Unix上的代码块:
DiskFileItemFactory factory = new DiskFileItemFactory();
factory.setSizeThreshold(1024*1024*3);
factory.setRepository(new File("/root/loads/temp"));
// Create a new file upload handler
ServletFileUpload upload = new ServletFileUpload(factory);
upload.setFileSizeMax(100000);
upload.setSizeMax(100000);
boolean isMulti =upload.isMultipartContent(request);
// Parse the request
try {
List<FileItem> items = upload.parseRequest(request);
注意:我通过HttpEvent.getHTTPServletRequest()到达HTTPServletRequest。请求之前没有处理过.java version = 1.6_021
答案 0 :(得分:0)
我发现解决方案,jboss安全性和我们项目的平台规则不允许访问任何不在指定目录中的文件。 我使用了jboss temp目录,可以访问请求中的项目。