Struts2中上传文件相关设置

在struts.xml中配置,使用的是拦截器fileUploadStack 
具体的配置如下: 
Xml代码   收藏代码
  1. <constant name="struts.multipart.maxSize" value="1024000"></constant>  
  2.       
  3.         <action name="demo" class="action.file.FileUploadAction">  
  4.             <interceptor-ref name="fileUploadStack">  
  5.                 <param name="maximumSize">1024000</param>  
  6.                 <param name="fileUpload.allowedTypes">  
  7.                     image/gif,image/png,image/bmp,image/pjpeg,image/jpg,image/jpeg  
  8.                 </param>  
  9.             </interceptor-ref>  
  10.             <result name="success" type="httpheader">  
  11.                 <param name="status">200</param>  
  12.             </result>  
  13.         </action>  

补充:只需在<action></action>中加入拦截器引用fileUpload或者fileUploadStack 
Xml代码   收藏代码
  1. <interceptor-ref name="fileUpload">  
  2.               <!-- 配置允许上传的文件类型,多个用","分隔 -->  
  3.               <param name="allowedTypes">  
  4.           image/bmp,image/png,image/gif,image/jpeg,image/jpg   
  5. ,image/x-png, image/pjpeg<o:p></o:p>  
  6.   
  7.               </param>  
  8.               <!-- 配置允许上传的文件大小,单位字节 -->  
  9.               <param name="maximumSize">102400</param>  
  10.            </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


  1. '.a' : 'application/octet-stream',
  2. '.ai' : 'application/postscript',
  3. '.aif' : 'audio/x-aiff',
  4. '.aifc' : 'audio/x-aiff',
  5. '.aiff' : 'audio/x-aiff',
  6. '.au' : 'audio/basic',
  7. '.avi' : 'video/x-msvideo',
  8. '.bat' : 'text/plain',
  9. '.bcpio' : 'application/x-bcpio',
  10. '.bin' : 'application/octet-stream',
  11. '.bmp' : 'image/x-ms-bmp',
  12. '.c' : 'text/plain',
  13. # Duplicates :(
  14. '.cdf' : 'application/x-cdf',
  15. '.cdf' : 'application/x-netcdf',
  16. '.cpio' : 'application/x-cpio',
  17. '.csh' : 'application/x-csh',
  18. '.css' : 'text/css',
  19. '.dll' : 'application/octet-stream',
  20. '.doc' : 'application/msword',
  21. '.dot' : 'application/msword',
  22. '.dvi' : 'application/x-dvi',
  23. '.eml' : 'message/rfc822',
  24. '.eps' : 'application/postscript',
  25. '.etx' : 'text/x-setext',
  26. '.exe' : 'application/octet-stream',
  27. '.gif' : 'image/gif',
  28. '.gtar' : 'application/x-gtar',
  29. '.h' : 'text/plain',
  30. '.hdf' : 'application/x-hdf',
  31. '.htm' : 'text/html',
  32. '.html' : 'text/html',
  33. '.ief' : 'image/ief',
  34. '.jpe' : 'image/jpeg',
  35. '.jpeg' : 'image/jpeg',
  36. '.jpg' : 'image/jpeg',
  37. '.js' : 'application/x-javascript',
  38. '.ksh' : 'text/plain',
  39. '.latex' : 'application/x-latex',
  40. '.m1v' : 'video/mpeg',
  41. '.man' : 'application/x-troff-man',
  42. '.me' : 'application/x-troff-me',
  43. '.mht' : 'message/rfc822',
  44. '.mhtml' : 'message/rfc822',
  45. '.mif' : 'application/x-mif',
  46. '.mov' : 'video/quicktime',
  47. '.movie' : 'video/x-sgi-movie',
  48. '.mp2' : 'audio/mpeg',
  49. '.mp3' : 'audio/mpeg',
  50. '.mpa' : 'video/mpeg',
  51. '.mpe' : 'video/mpeg',
  52. '.mpeg' : 'video/mpeg',
  53. '.mpg' : 'video/mpeg',
  54. '.ms' : 'application/x-troff-ms',
  55. '.nc' : 'application/x-netcdf',
  56. '.nws' : 'message/rfc822',
  57. '.o' : 'application/octet-stream',
  58. '.obj' : 'application/octet-stream',
  59. '.oda' : 'application/oda',
  60. '.p12' : 'application/x-pkcs12',
  61. '.p7c' : 'application/pkcs7-mime',
  62. '.pbm' : 'image/x-portable-bitmap',
  63. '.pdf' : 'application/pdf',
  64. '.pfx' : 'application/x-pkcs12',
  65. '.pgm' : 'image/x-portable-graymap',
  66. '.pl' : 'text/plain',
  67. '.png' : 'image/png',
  68. '.pnm' : 'image/x-portable-anymap',
  69. '.pot' : 'application/vnd.ms-powerpoint',
  70. '.ppa' : 'application/vnd.ms-powerpoint',
  71. '.ppm' : 'image/x-portable-pixmap',
  72. '.pps' : 'application/vnd.ms-powerpoint',
  73. '.ppt' : 'application/vnd.ms-powerpoint',
  74. '.ps' : 'application/postscript',
  75. '.pwz' : 'application/vnd.ms-powerpoint',
  76. '.py' : 'text/x-python',
  77. '.pyc' : 'application/x-python-code',
  78. '.pyo' : 'application/x-python-code',
  79. '.qt' : 'video/quicktime',
  80. '.ra' : 'audio/x-pn-realaudio',
  81. '.ram' : 'application/x-pn-realaudio',
  82. '.ras' : 'image/x-cmu-raster',
  83. '.rdf' : 'application/xml',
  84. '.rgb' : 'image/x-rgb',
  85. '.roff' : 'application/x-troff',
  86. '.rtx' : 'text/richtext',
  87. '.sgm' : 'text/x-sgml',
  88. '.sgml' : 'text/x-sgml',
  89. '.sh' : 'application/x-sh',
  90. '.shar' : 'application/x-shar',
  91. '.snd' : 'audio/basic',
  92. '.so' : 'application/octet-stream',
  93. '.src' : 'application/x-wais-source',
  94. '.sv4cpio''application/x-sv4cpio',
  95. '.sv4crc' : 'application/x-sv4crc',
  96. '.swf' : 'application/x-shockwave-flash',
  97. '.t' : 'application/x-troff',
  98. '.tar' : 'application/x-tar',
  99. '.tcl' : 'application/x-tcl',
  100. '.tex' : 'application/x-tex',
  101. '.texi' : 'application/x-texinfo',
  102. '.texinfo''application/x-texinfo',
  103. '.tif' : 'image/tiff',
  104. '.tiff' : 'image/tiff',
  105. '.tr' : 'application/x-troff',
  106. '.tsv' : 'text/tab-separated-values',
  107. '.txt' : 'text/plain',
  108. '.ustar' : 'application/x-ustar',
  109. '.vcf' : 'text/x-vcard',
  110. '.wav' : 'audio/x-wav',
  111. '.wiz' : 'application/msword',
  112. '.wsdl' : 'application/xml',
  113. '.xbm' : 'image/x-xbitmap',
  114. '.xlb' : 'application/vnd.ms-excel',
  115. # Duplicates :(
  116. '.xls' : 'application/excel',
  117. '.xls' : 'application/vnd.ms-excel',
  118. '.xml' : 'text/xml',
  119. '.xpdl' : 'application/xml',
  120. '.xpm' : 'image/x-xpixmap',
  121. '.xsl' : 'application/xml',
  122. '.xwd' : 'image/x-xwindowdump',
  123. '.zip' : 'application/zip',
  124. application/zip,application/rar,application/octet-stream,image/bmp, 
    image/png,image/gif,image/jpeg,image/GPG,image/x-png,image/pjpeg
Firefox与IE的区别
  1. firefox image/jpeg image/bmp image/gif image/png
  2. ie 6 image/pjpeg image/bmp image/gif image/x-png
  3. ie 7 image/pjpeg image/bmp image/gif image/x-png
  4. ie 8 image/pjpeg image/bmp image/gif image/x-png





你可能感兴趣的:(xml,struts,properties,IE,upload,File)