Struts2文件上传

作者在 2018-05-18 11:55:11 发布以下内容

Commons-FileUpload组件

        >>Commons是Apache开放源代码组织的一个Java子项目,其中的FileUpload是用来处理http文件上传的子项目。

        >>Commons-FileUpload组件特点

                >>使用简单:可以方便的嵌入到JSP文件中,编写少量代码即可完成文件的上传功能;

                >>能够全程控制上传内容;

                >>能够对上传文件的大小、类型进行控制;

环境要求

        >>commons-fileupload-xxx.jar

        >>commons-io-xxx.jar

获取方式

        >>http://commons.apache.ore/fileupload 下载Commons-FileUpload组件

        >>http://commons.apache.ore/io    下载Commons-IO组件

-—————————————————————————————————————————————————

实现步骤

        >>设置表单提交属性

                <s:form enctype="multipart/form-data" method="post">

                        <s:file name="upload" value="上传"></s:file>

                </s:form>

        >>编写文件上传处理Action

                   Action中有3个必须的属性

                private  File  upload;    //对应表单的name,是临时文件,tmp文件

                private String uploadContentType;    //前面要和表单的name一致,后面的ContentType固定。

                private String uploadFileName;        //前面要和表单的name一致,后面的FileName固定。

                public String execute() throws IOException{

                        File destFile = new File(ServletActionContext.getRequest().getRealPath(

                       "/upload"+"/"+this.getUploadFileName() ));

                        FileUtils.copyFile(upload,destFile);

                }

                "/upload"存储路径可以在配置配入,用一个值接受

                private String savaPath;

        >>配置Action

                <action name="upload" class="全路径名">

                        <param name="savaPach">/upload</param>

                        <result>/upload.jsp</result>

                        <interceptor-ref  name="fileUpload">

                                   <param name="maximumSize">521000</param>//上传文件大小

                                    <param name="allowedTypes">image/jpeg,image/gif</param>//文件类型

                        </interceptor-ref>

                        <interceptor-ref name="defaultStack"></interceptor-ref>

                </action>

                在jsp页面显示

                <img alr="" src="upload/<s:property value='uploadFileName'/>   "/>

__________________________________________________________________

多文件上传

        表单设置

                >>多个FIle控件

                >>name属性相同

        Action的修改

                >>将三个属性的类型修改成数组类型

                        private File[] upload;

                        private String[] uploadContentType;

                        private String[] uploadFileName;

        Action的配置

               <constant name="struts.multipart.maxSize" value="所有上面文件大小"/>


Struts2 | 阅读 925 次
文章评论,共0条
游客请输入验证码
文章分类
最新评论