【问题标题】:Re usable, thread safe cmponents in commons-fileuploadcommons-fileupload 中可重用的线程安全组件
【发布时间】:2017-03-07 00:57:56
【问题描述】:

我正在使用 commons-fileupload 使用类 DiskFileItemFactory 和 ServletFileUpload 从 POST 请求中读取图像文件。

谁能帮我看看上面哪些对象可以在线程之间重复使用和同时访问,或者必须为每个请求重新创建

提前致谢

【问题讨论】:

    标签: java file-upload multipartform-data apache-commons-fileupload


    【解决方案1】:

    在这个方向上找不到任何直线点。 但是找到了公共文件上传here的Streaming API。 由于它创建了一个 ServletFileUpload 对象,所以我认为这可能是一个更好的主意。

    // Create a new file upload handler ServletFileUpload upload = new ServletFileUpload();

    【讨论】:

      【解决方案2】:

      文档没有提供这方面的信息。可用示例表明,所有对象都将在每个请求上重新创建,除了FileCleaningTracker,在构建 DiskFileItemFactories 时建议使用静态方法,如https://commons.apache.org/proper/commons-fileupload/using.html 所示:

      public static DiskFileItemFactory newDiskFileItemFactory(ServletContext context,
                                                           File repository) {
        FileCleaningTracker fileCleaningTracker
          = FileCleanerCleanup.getFileCleaningTracker(context);
        DiskFileItemFactory factory
          = new DiskFileItemFactory(DiskFileItemFactory.DEFAULT_SIZE_THRESHOLD,
                                    repository);
        factory.setFileCleaningTracker(fileCleaningTracker);
        return factory;
      }
      

      【讨论】:

        猜你喜欢
        • 2010-10-25
        • 2015-07-09
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2017-05-06
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多