Struts2中提供了快捷的下载方式,通过配置struts.xml文件即可实现文件的下载,但是功能实现后下载文件的文件名却出现乱码,或者直接来个***.action,让人很是无语,但很显然,这是中文乱码问题需要设置编码格式,道理都懂,但是怎样实现呢?其实很简单,上代码:
<result name="download" type="stream">
<param name="contentType">application/octet-stream</param>
<param name="inputName">inputStreamxxx</param>
<param name="contentDisposition">attachment;<span style="color:#ff0000;">filename=${@java.net.URLEncoder@encode(oldFileName,"UTF-8")</span>}</param>
<param name="bufferSize">1024</param>
</result>
注意红色部分,设置文件名的编码格式为“UTF-8”即可,重启Tomcat,下载文件的名称应该就正常了。