【发布时间】:2015-03-09 13:54:29
【问题描述】:
我一直在尝试使用 apache commons file upload over JBOSS 5.1 来解析多部分请求。 问题是在解析请求时,未填充 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 版本 = 1.6_021
【问题讨论】:
-
你检查
/root/loads/temp是否可以被运行JBoss的用户写入? -
我已经为该目录提供了所有权限,我也尝试使用默认的 java temp 目录...没有用..
-
日志中有任何错误或堆栈跟踪吗?
-
我没有看到任何错误,我也成功调试了代码,列表看起来很空,但我可以看到流大小足够大,可以上传文件。我正在使用邮递员,在 windows 上代码块正在工作..
标签: file servlets jboss5.x java-6 apache-commons-fileupload