struts 文件上传的一些问题
在struts下文件上传很方便,但有几个问题要注意下
?
1、拦截器配置要注意顺序
?
????如果你要配置个性化的,如文件类型,大小,需要在下面增加最下面增加workflow的拦截,因为文件上传拦截器会判断文件类型与大小往validate中写错误信息,workflow会在最后判断有无错误,并转到input。
?
?
<action name="fileUpload" method="post">?<result name="success" type="dispatcher">??/file_up_success.jsp?</result>?<result name="input" type="dispatcher">??/file_up.jsp?</result>?<interceptor-ref name="autowireDefault"/>?<interceptor-ref name="fileUpload">?<!-- 定义允许的上传文件的类型-->???? <param name="allowedTypes">text/plain</param>???? <!-- 上传文件的最大值 -->???? <param name="maximumSize">1024000</param>?</interceptor-ref>?<interceptor-ref name="workflow" /> </action>
?
?
2、可以定制文件上传错误信息
?
?? 有几种情况可以造成文件上传失败
?
?? 1、文件过大传不上来,报actionError
?? 2、文件类型错误,报fieldError
?? 3、文件超过设置的大小,报fieldError
?? 略
?
?? 这些错误信息原配置是英文,可用国际化配置成中文显示
???
在struts.xml中增加 <constant name="struts.custom.i18n.resources" value="messageResource" /> 增加 messageResource_zh_CN.properties #文件类型出错输出 中文 struts.messages.error.content.type.not.allowed=\u6587\u4ef6\u7c7b\u578b\u51fa\u9519
??
?? java 文件转码命令
?
??
native2ascii src.txt dest.txt
?
??