1.struts2取得上传文件的类型和上传文件的名称的方法:
如上传的文件在Action中的属性是File file;那么只需要在action中再加两个属性String fileFileNanme;String fileContentType;这两个属性不需要在view层出现,只需要在view层出现file属性即可。struts2会自动将上传文件的名称写入fileFileNanme属性,将上传文件的类型写入fileContentType属性。规则:file+FileName获得文件名与后缀。file+ContentType获得文件类型。
2.struts2文件类型拦截器:
<interceptor-ref name ="fileUpload">
<param name="maximumSize">20000</param>
<param name ="allowedTypes">
image/bmp,image/png,image/gif,image/jpeg,image/jpg,text/xml,application/msword,application/ppt,application/msexcel,application/pdf
</param>
</interceptor-ref>
特别注意,如果使用了这个拦截器,必须加上下面的拦截器,否则获取不了file流
<interceptor-ref name ="defaultStack"/>
另外必须配置 <result name="input">
如果上传文件失败,系统返回到input对应的页面,要在input对应的页面输出文件过滤失败信息,可以在input对应的页面中增加 <s:fielderror/>来显示错误信息。
如上传的文件在Action中的属性是File file;那么只需要在action中再加两个属性String fileFileNanme;String fileContentType;这两个属性不需要在view层出现,只需要在view层出现file属性即可。struts2会自动将上传文件的名称写入fileFileNanme属性,将上传文件的类型写入fileContentType属性。规则:file+FileName获得文件名与后缀。file+ContentType获得文件类型。
2.struts2文件类型拦截器:
<interceptor-ref name ="fileUpload">
<param name="maximumSize">20000</param>
<param name ="allowedTypes">
image/bmp,image/png,image/gif,image/jpeg,image/jpg,text/xml,application/msword,application/ppt,application/msexcel,application/pdf
</param>
</interceptor-ref>
特别注意,如果使用了这个拦截器,必须加上下面的拦截器,否则获取不了file流
<interceptor-ref name ="defaultStack"/>
另外必须配置 <result name="input">
如果上传文件失败,系统返回到input对应的页面,要在input对应的页面输出文件过滤失败信息,可以在input对应的页面中增加 <s:fielderror/>来显示错误信息。