【问题标题】:Apache common file upload empty multipart item listApache公共文件上传空的多部分项目列表
【发布时间】: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


【解决方案1】:

我找到了解决方案,jboss security 和我们项目的平台规则不允许访问任何不在指定目录中的文件。 我使用了 jboss 临时目录,可以访问请求中的项目。

【讨论】:

    猜你喜欢
    • 2012-09-30
    • 2010-09-18
    • 2013-05-20
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-01-25
    • 2018-07-16
    • 1970-01-01
    相关资源
    最近更新 更多