在struts.xml中配置,使用的是拦截器fileUploadStack
具体的配置如下:
具体的配置如下:
- <constant name="struts.multipart.maxSize" value="1024000"></constant>
- <action name="demo" class="action.file.FileUploadAction">
- <interceptor-ref name="fileUploadStack">
- <param name="maximumSize">1024000</param>
- <param name="fileUpload.allowedTypes">
- image/gif,image/png,image/bmp,image/pjpeg,image/jpg,image/jpeg
- </param>
- </interceptor-ref>
- <result name="success" type="httpheader">
- <param name="status">200</param>
- </result>
- </action>
补充:只需在<action></action>中加入拦截器引用fileUpload或者fileUploadStack
struts2 上传文件时,如果限制了上传的文件类型,当用户上传被限制的类型时,struts默认显示的错误如下:
Content-Type not allowed: file "icudt42.dll" "upload_47e43c5c_1266edfc786__8000_00000002.tmp" application/x-msdownload
但这种显示不是很友好,要自定义该错误,需要做的是:
1 在struts.xml中添加<constant name="struts.custom.i18n.resources" value="struts" />
(不知道为什么)
2 在src下新建struts.properties写上
struts.messages.error.content.type.not.allowed=文件类型不正确
struts.messages.error.file.too.large=上传的文件太大
struts.messages.error.uploading=上传出错
注释:在properties文件中中文是乱码的,要用native2ascii转一下
- <interceptor-ref name="fileUpload">
- <!-- 配置允许上传的文件类型,多个用","分隔 -->
- <param name="allowedTypes">
- image/bmp,image/png,image/gif,image/jpeg,image/jpg
- ,image/x-png, image/pjpeg<o:p></o:p>
- </param>
- <!-- 配置允许上传的文件大小,单位字节 -->
- <param name="maximumSize">102400</param>
- </interceptor-ref>
struts2 上传文件时,如果限制了上传的文件类型,当用户上传被限制的类型时,struts默认显示的错误如下:
Content-Type not allowed: file "icudt42.dll" "upload_47e43c5c_1266edfc786__8000_00000002.tmp" application/x-msdownload
但这种显示不是很友好,要自定义该错误,需要做的是:
1 在struts.xml中添加<constant name="struts.custom.i18n.resources" value="struts" />
(不知道为什么)
2 在src下新建struts.properties写上
struts.messages.error.content.type.not.allowed=文件类型不正确
struts.messages.error.file.too.large=上传的文件太大
struts.messages.error.uploading=上传出错
注释:在properties文件中中文是乱码的,要用native2ascii转一下
文件类型 allowedTypes
- '.a'
: 'application/octet-stream', - '.ai'
: 'application/postscript', - '.aif'
: 'audio/x-aiff', - '.aifc'
: 'audio/x-aiff', - '.aiff'
: 'audio/x-aiff', - '.au'
: 'audio/basic', - '.avi'
: 'video/x-msvideo', - '.bat'
: 'text/plain', - '.bcpio'
: 'application/x-bcpio', - '.bin'
: 'application/octet-stream', - '.bmp'
: 'image/x-ms-bmp', - '.c'
: 'text/plain', - #
Duplicates :( - '.cdf'
: 'application/x-cdf', - '.cdf'
: 'application/x-netcdf', - '.cpio'
: 'application/x-cpio', - '.csh'
: 'application/x-csh', - '.css'
: 'text/css', - '.dll'
: 'application/octet-stream', - '.doc'
: 'application/msword', - '.dot'
: 'application/msword', - '.dvi'
: 'application/x-dvi', - '.eml'
: 'message/rfc822', - '.eps'
: 'application/postscript', - '.etx'
: 'text/x-setext', - '.exe'
: 'application/octet-stream', - '.gif'
: 'image/gif', - '.gtar'
: 'application/x-gtar', - '.h'
: 'text/plain', - '.hdf'
: 'application/x-hdf', - '.htm'
: 'text/html', - '.html'
: 'text/html', - '.ief'
: 'image/ief', - '.jpe'
: 'image/jpeg', - '.jpeg'
: 'image/jpeg', - '.jpg'
: 'image/jpeg', - '.js'
: 'application/x-javascript', - '.ksh'
: 'text/plain', - '.latex'
: 'application/x-latex', - '.m1v'
: 'video/mpeg', - '.man'
: 'application/x-troff-man', - '.me'
: 'application/x-troff-me', - '.mht'
: 'message/rfc822', - '.mhtml'
: 'message/rfc822', - '.mif'
: 'application/x-mif', - '.mov'
: 'video/quicktime', - '.movie'
: 'video/x-sgi-movie', - '.mp2'
: 'audio/mpeg', - '.mp3'
: 'audio/mpeg', - '.mpa'
: 'video/mpeg', - '.mpe'
: 'video/mpeg', - '.mpeg'
: 'video/mpeg', - '.mpg'
: 'video/mpeg', - '.ms'
: 'application/x-troff-ms', - '.nc'
: 'application/x-netcdf', - '.nws'
: 'message/rfc822', - '.o'
: 'application/octet-stream', - '.obj'
: 'application/octet-stream', - '.oda'
: 'application/oda', - '.p12'
: 'application/x-pkcs12', - '.p7c'
: 'application/pkcs7-mime', - '.pbm'
: 'image/x-portable-bitmap', - '.pdf'
: 'application/pdf', - '.pfx'
: 'application/x-pkcs12', - '.pgm'
: 'image/x-portable-graymap', - '.pl'
: 'text/plain', - '.png'
: 'image/png', - '.pnm'
: 'image/x-portable-anymap', - '.pot'
: 'application/vnd.ms-powerpoint', - '.ppa'
: 'application/vnd.ms-powerpoint', - '.ppm'
: 'image/x-portable-pixmap', - '.pps'
: 'application/vnd.ms-powerpoint', - '.ppt'
: 'application/vnd.ms-powerpoint', - '.ps'
: 'application/postscript', - '.pwz'
: 'application/vnd.ms-powerpoint', - '.py'
: 'text/x-python', - '.pyc'
: 'application/x-python-code', - '.pyo'
: 'application/x-python-code', - '.qt'
: 'video/quicktime', - '.ra'
: 'audio/x-pn-realaudio', - '.ram'
: 'application/x-pn-realaudio', - '.ras'
: 'image/x-cmu-raster', - '.rdf'
: 'application/xml', - '.rgb'
: 'image/x-rgb', - '.roff'
: 'application/x-troff', - '.rtx'
: 'text/richtext', - '.sgm'
: 'text/x-sgml', - '.sgml'
: 'text/x-sgml', - '.sh'
: 'application/x-sh', - '.shar'
: 'application/x-shar', - '.snd'
: 'audio/basic', - '.so'
: 'application/octet-stream', - '.src'
: 'application/x-wais-source', - '.sv4cpio':
'application/x-sv4cpio', - '.sv4crc'
: 'application/x-sv4crc', - '.swf'
: 'application/x-shockwave-flash', - '.t'
: 'application/x-troff', - '.tar'
: 'application/x-tar', - '.tcl'
: 'application/x-tcl', - '.tex'
: 'application/x-tex', - '.texi'
: 'application/x-texinfo', - '.texinfo':
'application/x-texinfo', - '.tif'
: 'image/tiff', - '.tiff'
: 'image/tiff', - '.tr'
: 'application/x-troff', - '.tsv'
: 'text/tab-separated-values', - '.txt'
: 'text/plain', - '.ustar'
: 'application/x-ustar', - '.vcf'
: 'text/x-vcard', - '.wav'
: 'audio/x-wav', - '.wiz'
: 'application/msword', - '.wsdl'
: 'application/xml', - '.xbm'
: 'image/x-xbitmap', - '.xlb'
: 'application/vnd.ms-excel', - #
Duplicates :( - '.xls'
: 'application/excel', - '.xls'
: 'application/vnd.ms-excel', - '.xml'
: 'text/xml', - '.xpdl'
: 'application/xml', - '.xpm'
: 'image/x-xpixmap', - '.xsl'
: 'application/xml', - '.xwd'
: 'image/x-xwindowdump', - '.zip'
: 'application/zip', - application/zip,application/rar,application/octet-stream,image/bmp,
image/png,image/gif,image/jpeg,image/GPG,image/x-png,image/pjpeg
- firefox
image/jpeg image/bmp image/gif image/png - ie
6 image/pjpeg image/bmp image/gif image/x-png - ie
7 image/pjpeg image/bmp image/gif image/x-png - ie
8 image/pjpeg image/bmp image/gif image/x-png