struts2修改Fileupload文件大小限制

struts.xml配置:

<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE struts PUBLIC
    "-//Apache Software Foundation//DTD Struts Configuration 2.3//EN"
    "http://struts.apache.org/dtds/struts-2.3.dtd">

<struts>
    <constant name="struts.action.extension" value="action,do.org,,"></constant>
    <constant name="struts.configuration.xml.reload" value="true"></constant>
    <constant name="struts.multipart.maxSize" value="55000000"/>

    <package name="default" namespace="/" extends="struts-default">
        <!--可以为一个Action写多个方法进行对应,这样可以减少Action类的数量,但是无法减少配置的数量  -->
        <!-- <action name="user_addInput" class="com.my.action.UserAction" method="addInput">
            <result name="success">/WEB-INF/user/addInput.jsp</result>
        </action>
        <action name="user_add" class="com.my.action.UserAction" method="add">
            <result name="success">/WEB-INF/user/add.jsp</result>
        </action>
        <action name="user_list" class="com.my.action.UserAction" method="list">
            <result name="success">/WEB-INF/user/list.jsp</result>
        </action> -->

        <!-- 一下方式仅仅写一个Action,之后通过在调用的时候确定方法;
        这个方法虽然减少了action的配置,但是依然需要增加大量的结果集进行配置 -->
        <!-- <action name="user" class="com.my.action.UserAction">
            <result name="addInput">/WEB-INF/user/addInput.jsp</result>
            <result name="add">/WEB-INF/user/add.jsp</result>
            <result name="list">/WEB-INF/user/list.jsp</result>
        </action> -->

        <!--基于通配符的方式({n}代表第n哥*)  -->
        <action name="*_*" class="com.my.action.{1}Action" method="{2}">
            <result>/WEB-INF/{1}/{2}.jsp</result>
            <result type="redirect" name="re_list">/{1}_list</result>
            <interceptor-ref name="fileUpload">
                <param name="maximumSize">52428800</param> 
            </interceptor-ref>
            <interceptor-ref name="defaultStack"></interceptor-ref>
        </action>

    </package>
</struts>

MessageAction.java:

package com.my.action;

import java.io.File;
import java.io.IOException;
import java.lang.reflect.InvocationTargetException;
import java.util.Date;

import org.apache.commons.beanutils.BeanUtils;
import org.apache.commons.io.FileUtils;

import com.my.dao.MessageDao;
import com.my.model.Message;
import com.my.model.Point;
import com.opensymphony.xwork2.ModelDriven;

public class MessageAction implements ModelDriven<Message> {
    private Message message;
    private java.io.File[] photo;
    private String[] photoFileName;
    private String[] photoContentType;

    public Message getMessage() {
        return message;
    }
    public void setMessage(Message message) {
        this.message = message;
    }
    public String[] getPhotoFileName() {
        return photoFileName;
    }
    /**
     * 上传的文件名会通过该方法设置
     * @param photoFileName
     */
    public void setPhotoFileName(String[] photoFileName) {
        this.photoFileName = photoFileName;
    }
    public String[] getPhotoContentType() {
        return photoContentType;
    }
    /**
     * 设置文件类型;不论是文件名还是文件格式,所使用的格式是固定的[xxxFileName,xxxContentType]
     * @param photoContentType
     */
    public void setPhotoContentType(String[] photoContentType) {
        this.photoContentType = photoContentType;
    }
    public java.io.File[] getPhoto() {
        return photo;
    }
    public void setPhoto(java.io.File[] photo) {
        this.photo = photo;
    }

    public String fileInput() {
        return "success";
    }
    public String file() {
        System.out.println(this);
//      System.out.println(photo.getName());
//      System.out.println(photoFileName+", "+photoContentType);
        //copy the tmp file to the real file
        try {
            for(int i=0; i<photo.length; ++i) {
                File file=photo[i];
                String name="E:\\EclipseWorkspace\\uploadFiles\\"+photoFileName[i];
                FileUtils.copyFile(file, new File(name));
            }
        } catch (IOException e) {
            e.printStackTrace();
        }
        return "success";
    }
    @Override
    public Message getModel() {
        if(null==message) message=new Message();
        return message;
    }

}

fileInput.jsp:

<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>file Input</title>
</head>
<body>
    <h1>Message fileInput</h1>
    <form action="Message_file" method="post" enctype="multipart/form-data">
        Title:<input type="text" name="title"/><br />
        File:<input type="file" name="photo" /><br />
        File:<input type="file" name="photo" /><br />
        File:<input type="file" name="photo" /><br />
        File:<input type="file" name="photo" /><br />
        File:<input type="file" name="photo" /><br />
        File:<input type="file" name="photo" /><br />
        <input type="submit" value="提交"/>
    </form>
    <s:debug></s:debug>
</body>
</html>
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值