您的位置:首页 > 编程语言 > Java开发

struts2文件上传细节

2017-05-22 22:13 375 查看

上传大小

上一篇博客,写好文件上传功能以后,上传大于20M的文件 会发现报错,这是因为struts的默认上传的maxSize默认为20M。

default.properties文件中有这么一行代码:规定了上传的大小

struts.multipart.maxSize=2097152


然后我们可以对这个maxSize进行修改,在constant.xml(顾名思义,专门对常量进行配置的文件,方便管理),constant.xml文件内容如下所示:其中第4条便是对上传大小的设置,修改为了30M,即30*1024*1024

<?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>

<!-- 一、全局配置 -->
<!-- 0. 请求数据编码 -->
<constant name="struts.i18n.encoding" value="UTF-8"/>
<!-- 1. 修改Struts默认的访问后缀 -->
<constant name="struts.action.extension" value="action,do,"></constant>
<!-- 2. 修改xml自动重新加载 -->
<constant name="struts.configuration.xml.reload" value="true"/>
<!-- 3. 开启动态方法调用 (默认不开启)-->
<constant name="struts.enable.DynamicMethodInvocation" value="true"/>
<!-- 4. 修改上传文件的最大大小为30M -->
<constant name="struts.multipart.maxSize" value="30*1024*1024"/>

</struts>


如何使上面的constant.xml文件生效呢?在struts.xml的标签中引入这个constant.xml文件即可:

<struts>

<!-- 总配置文件:引入其他所有配置文件 -->

<include file="constant.xml"></include>
<include file="data/data.xml"></include>
<include file="type/type.xml"></include>
<include file="fileupload/upload.xml"></include>
</struts>


第一个引入的文件便是这个constant.xml文件

上传类型

在对应的文件上传action的upload.xml

中配置即可:

<struts>

<package name="upload" extends="struts-default">
<action name="fileUploadAction" class="fileupload.FileUpLoad">
<!-- 限制运行的文件的扩展名 -->
<param name="fileUpload.allowedExtensions">txt,jpg</param>
<!-- 限制运行的类型 【与上面同时使用取交集】
<param name="fileUpload.allowedTypes">text/plain</param>
-->
<result name="success">/e/success.jsp</result>
</action>
</package>

</struts>
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: