上传
1. 上传对表单的要求
* method=post
* enctype=multipart/form-data
2. 上传对servlet要求
* getParameter()不能再使用!
----------------------------------
Struts使用名为fileupload的拦截器完成上传。
1. 拦截器首先查看表单是否为multipart/form-data
2. 如果为multipart/form-data,那么拦截器会把file字段的数据封装到Action的三个属性中
-----------------------------------
一对三
* <input type="file" name="myupload"/> 文件表单项,文件字段。
* 对应Action的三个属性:
String myuploadFileName; 上传文件的名称
String myuploadContentType; 上传文件的MIME类型
File myupload; 上传文件的数据
-----------------------------------
上传配置
6个配置项,其中有3个是常量,还有3个是拦截器参数
1. 常量
commons-fileupload
用来指定上传组件
struts.multipart.parser=指定底层的上传组件
可选值:jakarta(它是默认值,它表示commons-fileupload)、cos(近几百看没有更新过)、pell(市场使用比较少)
struts.multipart.saveDir=指定临时文件目录
struts.multipart.maxSize=指定整个请求的大小,单位为字节,默认值为2M
2. 拦截器参数
maximumSize=单个文件的大小限制,单位为字节
allowedTypes=允许上传的MIME类型
allowedExtensions=允许上传的文件扩展名
-----------------------------------
国际化错误信息
struts.messages.error.uploading=上传出错
struts.messages.error.file.too.large=单个文件超出限制
struts.messages.error.content.type.not.allowed=非法的MIME类型
struts.messages.error.file.extension.not.allowed=非法扩展名
struts.messages.upload.error.SizeLimitExceededException=整个请求大小超出限制
-----------------------------------
作者:架构师小跟班
开发者导航: http://www.codernav.com
本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。
如果文中有什么错误,欢迎指出,以免更多的人被误导。