Struts中文件的上传

本文介绍了一个使用Struts2框架进行文件上传的示例,包括Java代码实现及struts.xml配置。示例展示了如何定义上传路径、处理多个文件上传,并通过拦截器设置上传文件类型和大小限制。

编写java代码

publicclass FileUploadActionextendsActionSupport {

    privateList<File> upload;//要上传的文件

    privateList<String> uploadFileName;//文件名称

    privateList<String> uploadContentType;//文件类型

    publicString doUpload() throwsIOException{

        //指定上传的路径

        Stringpath=ServletActionContext.getServletContext().getRealPath("/upload");

    File file=new File(path);//实现文件的复制,如果upload文件夹不存在则要创建

        if(!file.exists()){//upload文件夹不存在

            file.mkdir();//创建文件夹

        }

        for(inti=0;i<upload.size();i++){//循环需要上传的文件

            FileUtils.copyFile(upload.get(i),newFile(file,uploadFileName.get(i)));

        }

        returnSUCCESS;

    }

    publicList<File> getUpload() {

        returnupload;

    }

    publicvoidsetUpload(List<File> upload) {

        this.upload= upload;

    }

    publicList<String> getUploadFileName() {

        returnuploadFileName;

    }

    publicvoidsetUploadFileName(List<String> uploadFileName) {

        this.uploadFileName =uploadFileName;

    }

    publicList<String> getUploadContentType() {

        returnuploadContentType;

    }

    publicvoidsetUploadContentType(List<String> uploadContentType) {

        this.uploadContentType= uploadContentType;

    }

}

配置struts.xml文件:

<package name="default"namespace="/"extends="struts-default">

        <action name="upload"method="doUpload"class="com.sram.actions.FileUploadAction">

            <result>success.jsp</result>

            <!--当文件上传的时候出现了问题的时候调到error.jsp-->

            <result name="input">error.jsp</result>

            <interceptor-ref name="fileUpload">

                <!--设置允许上传的文件类型-->

                <param name="allowedTypes">image/png,image/jpeg,image/jpg</param>

                <!--上传文件的最大值-->

                <param name="maximumSize">2M</param>

            </interceptor-ref>

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

        </action>

    </package>
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值