struts 2中的多个文件上传

时间:2013-10-01 09:32:47

标签: java file-upload struts2

我在使用struts2上传文件时遇到问题。我有多个文件标签,如

<s:file name="fileUpload_5534" multiple="multiple"/>

<s:file name="fileUpload_5585" multiple="multiple"/>

<s:file name="fileUpload_5595" multiple="multiple"/>

这些文件标签是动态创建的,并且可以再次上传多个文件,因为我已指定multiple="multiple"。任何人都可以建议这种上传的解决方案。

1 个答案:

答案 0 :(得分:1)

您可以从单个<s:file>元素with multiple="multiple" like described here上传多个文件。

您还可以以相同的方式从多个<s:file>元素(每个元素允许一个文件)上传多个文件,处理<s:file>的名称以指向列表上的动作。

您真的想要上传ListLists File {/ 1}}吗?

如果是,我建议你建模一个对象,如MyFileListObject,其中包含所需数据列表:

class MyFileListObject {
    private List<File> files;
    private List<String> filesContentType;
    private List<String> filesFileName;    

    /* getters and setters */
}

然后通过Action公开List<MyFileListObject>

或者,您可以更多地对其进行粒化,定义一个新对象,例如MyFileObject

class MyFileObject {
    private File files;
    private String filesContentType;
    private String filesFileName;    

    /* getters and setters */
}

,列于MyFileListObject

class MyFileListObject {
    private List<MyFileObject> files;

    /* getter and setter */
}

然后通过Action公开List<MyFileListObject>

但对我来说这似乎有点过分了......哪种页面应该让很多<input type="file"/>在一个帖子中上传多个文件?