读书人

struts 多文件下传

发布时间: 2012-10-07 17:28:51 作者: rapoo

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属性:用来封装该文件域应用的文件的文件类型。

读书人网 >软件架构设计

热点推荐