[Struts2]Struts2的文件上传
2017-05-28 11:33
323 查看
添加文件上传的选择项
1. 客户端三个注意事项
* method="post"
* enctype="multipart/form-data"
* <input type="file" name="myfile">
2. Struts2框架的使用拦截器完成了文件上传,并且底层使用也是FileUpload开源的组件。
* 提供 FileUpload 拦截器,用于解析 multipart/form-data 编码格式请求,解析上传文件的内容
* fileUpload拦截器 默认在 defaultStack 栈中, 默认会执行的
* 在Action中编写文件上传,需要定义三个属性
> 文件类型File ,属性名与表单中file的name属性名一致.
> 字符串类型String , 属性名:前段是name属性名一致 + ContentType;
> 字符串类型String , 属性名:前段是name属性名一致+FileName;
> 最后需要为上述的三个属性提供set方法。
> 可以通过FileUtils提供 copyFile 进行文件复制,将上传文件 保存到服务器端
3. 文件上传中存在的问题
* 先配置input逻辑视图
* 在页面中显示错误信息
* 文件上传的总大小默认值是2M,如果超过了2M,程序会报出异常。可以使用<s:actionError>来查看具体信息!
> 解决总大小的设置,找到常量:
* struts.multipart.parser=jakarta-- 默认文件上传解析器,就是FileUpload组件
* struts.multipart.saveDir=-- 文件上传的临时文件存储目录
* struts.multipart.maxSize=2097152-- 文件上传的最大值(总大小),默认是2M
> 可以在struts.xml中设置常量,修改文件上传的默认总大小!!!
* <constant name="struts.multipart.maxSize" value="5000000"></constant>
4. 还可以通过配置拦截器来设置文件上传的一些属性
* 先在<action>标签中引入文件上传的拦截器
<interceptor-ref name="defaultStack">
<!-- 设置单个上传文件的大小 -->
<param name="fileUpload.maximumSize">2097152</param>
<!-- 设置扩展名 -->
<param name="fileUpload.allowedExtensions">.txt</param>
</interceptor-ref>
1. 客户端三个注意事项
* method="post"
* enctype="multipart/form-data"
* <input type="file" name="myfile">
2. Struts2框架的使用拦截器完成了文件上传,并且底层使用也是FileUpload开源的组件。
* 提供 FileUpload 拦截器,用于解析 multipart/form-data 编码格式请求,解析上传文件的内容
* fileUpload拦截器 默认在 defaultStack 栈中, 默认会执行的
* 在Action中编写文件上传,需要定义三个属性
> 文件类型File ,属性名与表单中file的name属性名一致.
> 字符串类型String , 属性名:前段是name属性名一致 + ContentType;
> 字符串类型String , 属性名:前段是name属性名一致+FileName;
> 最后需要为上述的三个属性提供set方法。
> 可以通过FileUtils提供 copyFile 进行文件复制,将上传文件 保存到服务器端
3. 文件上传中存在的问题
* 先配置input逻辑视图
* 在页面中显示错误信息
* 文件上传的总大小默认值是2M,如果超过了2M,程序会报出异常。可以使用<s:actionError>来查看具体信息!
> 解决总大小的设置,找到常量:
* struts.multipart.parser=jakarta-- 默认文件上传解析器,就是FileUpload组件
* struts.multipart.saveDir=-- 文件上传的临时文件存储目录
* struts.multipart.maxSize=2097152-- 文件上传的最大值(总大小),默认是2M
> 可以在struts.xml中设置常量,修改文件上传的默认总大小!!!
* <constant name="struts.multipart.maxSize" value="5000000"></constant>
4. 还可以通过配置拦截器来设置文件上传的一些属性
* 先在<action>标签中引入文件上传的拦截器
<interceptor-ref name="defaultStack">
<!-- 设置单个上传文件的大小 -->
<param name="fileUpload.maximumSize">2097152</param>
<!-- 设置扩展名 -->
<param name="fileUpload.allowedExtensions">.txt</param>
</interceptor-ref>
相关文章推荐
- Struts2文件上传在配置fileUpload拦截器中设置文件大小无效的问题
- 在Struts2中实现文件上传(一)
- struts2-上传文件(1)
- Struts2学习笔记14:Struts2的文件上传和下载【续】
- 在Struts2中实现文件上传
- 使用struts2中的文件上传
- Ext2.1 + Struts2 实现简单的文件上传
- 手工处理 Struts2 框架上传的文件
- Struts2中文件过大上传失败问题解决方案org.apache.commons.fileupload.FileUploadBase$SizeLimitExceededException
- 在Struts2中实现文件上传(二)
- struts2文件上传
- struts2文件上传
- Struts2 上传文件时取得文件扩展名的最好方法
- struts2文件上传的过滤
- Struts2文件的上传和下载
- 一篇关于struts2文件上传的好文章
- Struts2教程7:上传任意多个文件
- Struts2教程7:上传任意多个文件
- Struts2学习笔记13:Struts2的文件上传和下载
- struts2 common-fileupload上传文件大小限制