当前位置: 首页 > 知识库问答 >
问题:

JavaStruts, FileUploadInterceptor的文件名和内容类型不被调用?

令狐功
2023-03-14

我将dropzone与Java Struts2一起使用。在将uploadMultiple:true添加到dropzone之前,服务器端工作正常,即将相应地调用文件、文件名和内容类型的getter和setter。但是,在添加uploadMultiple:true之后,Struts拦截器只调用文件的getter和setter。

我试图改变参数名称,并按照这两个网站这样做,但没有运气。https://struts.apache.org/core-developers/file-upload-interceptor.htmlhttps://www.mkyong.com/struts2/struts-2-upload-multiple-files-example/

我的JS

    $("form#addrBookDropzone").dropzone(
        {
            url: "uploadData",
            maxFilesize: maxFileSize,
            maxFiles: 10,
            acceptedFiles: ".csv",
            addRemoveLinks: true,
            autoProcessQueue: false,
            uploadMultiple:true,
            parallelUploads: 10,
            paramName:'csvFile',
            init: function (e) {
                abDropzone = this;  
                abDropzone.processQueue();
            },
            success: function(file, response){
                retrieveCsvTransition();
            }

        }
    );

//我的Java

公共类文件处理器扩展了ActionSupport{

private static final long serialVersionUID = -234712913575630908L;
public static final Logger logger = Logger.getLogger(FileProcessor.class);
private String className = this.getClass().getSimpleName();

private List<File> csvFile = new ArrayList<File>(); 
private List<String> csvFileContentType = new ArrayList<String>();
private List<String> csvFileFileName = new ArrayList<String>();
private Set<TblCsvTransition> csvData = new HashSet<TblCsvTransition>(0);
private AbstractMap<String, File> fileMap = new HashMap<String, File>(0);



public List<File> getCsvFile() {
    return csvFile;
}

public void setCsvFile(List<File> csvFile) {
    this.csvFile = csvFile;
}

public List<String> getCsvFileContentType() {
    return csvFileContentType;
}

public void setCsvFileContentType(List<String> csvFileContentType) {
    this.csvFileContentType = csvFileContentType;
}

public List<String> getCsvFileFileName() {
    return csvFileFileName;
}

public void setCsvFileFileName(List<String> csvFileFileName) {
    this.csvFileFileName = csvFileFileName;
}

}

共有1个答案

杜河
2023-03-14

我不明白为什么struts不传递文件名,最后我只能注释掉并行上传并将文件名作为param传递

 类似资料:
  • 我的HTTP放调用响应由以下代码打印。 我想打印要在console或其他格式上打印的内容类型信息。基本上我希望看到c#中的内容类型。我该怎么做?

  • 本文向大家介绍容易被忽略的Python内置类型,包括了容易被忽略的Python内置类型的使用技巧和注意事项,需要的朋友参考一下 Python中的内置类型是我们开发中最常见的,很多人都能熟练的使用它们。 然而有一些内置类型确实不那么常见的,或者说往往会被我们忽略,所以这次的主题就是带领大家重新认识这些“不同寻常”的内置类型。 (注意:本文基于python3,不会包含任何python2相关内容) fr

  • 我一直试图仅使用文件内容检测MIME类型,使用Apache Tika Core和Apache Tika Parser1.23 jars。下面是用于相同内容的代码: Tika无法检测扩展名为。tmp(text/plain file)和iso-8859-1字符集的文件的内容类型,内容如下: èé 通过以下方式正确检测具有相同配置和以下内容的文件: 000000000000000000000000000

  • 我使用angularjs 1.3.14 我有一个java REST服务生成一个xml文件,它的头是:“Content-Disposition”,“attachment;filename=yourfilename”; Java服务:

  • 要允许您传播关于已生成消息的内容类型的信息,默认情况下,Spring Cloud Stream附加contentType标头到出站消息。对于不直接支持头文件的中间件,Spring Cloud Stream提供了自己的自动将邮件包裹在自己的信封中的机制。对于支持头文件的中间件,Spring Cloud Stream应用程序可以从非Spring Cloud Stream应用程序接收具有给定内容类型的消