Struts2上传文件的一些配置

限制上传文件大小

在default.xml中 文件上传大小默认设置为2M

struts.multipart.maxSize=2097152

报错:Request exceeded allowed size limit! Max size allowed is: 209,715,2 but request was: 641,743,1!

在struts.xml更改文件上传大小

<!--    设置上传文件最大值 20M-->
<constant name="struts.multipart.maxSize" value="20971520"></constant>

限制上传类型

在struts-default,xml中 我们可以看到struts默认的拦截器中有一个fileUpload 实现他的是名为FileUploadInterceptor拦截器

内置有两个参数
allowedTypesSetallowedExtensionsSet

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述可以通过在action中配置过滤器的参数实现文件类型的限制

 <package name="U1" extends="struts-default" namespace="/user">
        <action name="register" class="org.ccit.com.web.action.UserAction" method="register">
            <interceptor-ref name="defaultStack">
                <param name="fileUpload.allowedTypes">image/png,image/jpeg</param>
<!--                <param name="fileUpload.allowedExtensions">png,jpg</param>-->
            </interceptor-ref>
            <result name="input">/register.jsp</result>
            <result name="success">/login.jsp</result>
        </action>
    </package>

allowedTypes报错:
Content-Type not allowed: photo “jquery-3.3.1.js” “upload_5da6724f_d41f_418b_b28e_177e5fed4c0b_00000000.tmp” text/javascript
allowedExtensions报错:
File extension not allowed: photo “jquery-3.3.1.js” “upload_5da6724f_d41f_418b_b28e_177e5fed4c0b_00000003.tmp” text/javascript

报错中文显示

在struts2-core-2.5.26.jar!\org\apache\struts2\struts-messages.properties中设定了个别语言的报错信息
在这里插入图片描述
可以创建properties文件 更改报错信息 并在struts.xml中配置prpperties文件
在src目录下创建FileUploadError.properties文件

struts.messages.error.content.type.not.allowed= {1}类型错误!
struts.messages.error.file.extension.not.allowed={1}类型错误!
struts.messes.upload.error.SizeLimitExceededException=上传文件过大 文件大小最大为{1}byte!

配置全局资源文件

<constant name="struts.custom.i18n.resources" value="FileUploadError"></constant>

在这里插入图片描述
在这里插入图片描述

多文件上传

1,将封装类中的三个属性改为数组类型

/**
 * @program: struts2_03
 * @description
 * @author: LIANG
 * @create: 2021-01-22 12:43
 **/
public class User {
    private String username;
    private String password;
    private File photo[];
    private String photoFileName[];
    private String photoContentType[];
//+get set toString

2,jsp页面添加文件上传组件

<s:form  action="register" namespace="/user" enctype="multipart/form-data">
    <s:file name="photo" label="头像1" ></s:file>
    <s:file name="photo" label="头像2" ></s:file>
    <s:file name="photo" label="头像3" ></s:file>
    <s:textfield name="username" label="用户名" requiredLabel="true" requiredPosition="left"></s:textfield><br>
    <s:password name="password" label="密码" requiredLabel="true" showPassword="true"></s:password><br>
    <s:submit value="注册" ></s:submit>
</s:form>
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值