struts 多文件上传
使用struts2进行多文件上传
在网上搜索 都是用数组形式实现的,而我的需求是上传的文件需要分开,用数组的话没有次序,分不清各个文件。
我的需求是上传两个图片:
代码如下:
?
public class TopicAction { ........................ private File myFile;//上传图片相关 private String myFileContentType;//上传图片相关 private String myFileFileName;//上传图片相关 private File scrollFile; private String scrollFileContentType;//上传图片相关 private String scrollFileFileName;//上传图片相关 private String imageFileName;//上传图片相关 ............... public String execute() { ................ copy(scrollFile, imageFile); ............. return SUCCESS; } private static void copy(File src, File dst) { .................................. } .............................. public File getMyFile() { return myFile; } public void setMyFile(File myFile) { this.myFile = myFile; } public String getMyFileContentType() { return myFileContentType; } public void setMyFileContentType(String myFileContentType) { this.myFileContentType = myFileContentType; } public String getMyFileFileName() { return myFileFileName; } public void setMyFileFileName(String myFileFileName) { this.myFileFileName = myFileFileName; } public File getScrollFile() { return scrollFile; } public void setScrollFile(File scrollFile) { this.scrollFile = scrollFile; } public String getScrollFileContentType() { return scrollFileContentType; } public void setScrollFileContentType(String scrollFileContentType) { this.scrollFileContentType = scrollFileContentType; } public String getScrollFileFileName() { return scrollFileFileName; } public void setScrollFileFileName(String scrollFileFileName) { this.scrollFileFileName = scrollFileFileName; } ...................................}?
?
?
摘自其它资料:
?
??? 但是,值得注意的是,此Action中还有两个属性:uploadFileName和uploadContentType,这两个属性分别用于封装上传文件的文件名、文件类型。这是Struts2设计的独到之处:Strut2的Action类直接通过File类型属性直接封装了上传文件的文件内容,但这个File属性无法获取上传文件的文件名和文件类型,所以Struts2就直接将文件域中包含的上传文件名和文件类型的信息封装到uploadFileName和uploadContentType属性中,也就是说Struts2针对表单中名为xxx的文件域,在对应的Action类中使用3个属性来封装该文件域信息:
????? l 类型为File的xxx属性:用来封装页面文件域对应的文件内容。
????? l 类型为String的xxxFileName属性:用来封装该文件域对应的文件的文件名。
????? l 类型为String的xxxContentType属性:用来封装该文件域应用的文件的文件类型。