做过上传下载的朋友肯定经常遇到中文乱码的问题,没办法,谁叫这些框架呀,语言呀都不是用中文写的。
言归正传,遇到上传下载的问题,其实我有两点要强调:
配置xml:过滤乱码(使用spring)
<!-- 过滤乱码 -->
<filter>
<filter-name>encodingFilter</filter-name>
<filter-class>org.springframework.web.filter.CharacterEncodingFilter</filter-class>
<init-param>
<param-name>encoding</param-name>
<param-value>UTF-8</param-value>
</init-param>
首先是上传,写上传的时候,在form中,一定要记得声明方法:method=“post” -------http://blog.csdn.net/langrenbule/article/details/6932521,
在下载的时候出现中文乱码的时候
public String getDownloadFileName() {
setFileName(song.getSongName());
downFileName = fileName;
try {
downFileName = new String(downFileName.getBytes(), "UTF-8");
} catch (UnsupportedEncodingException e) {
e.printStackTrace();
}
return downFileName;
}
,我们要进行格式转化。
特别要注意的是struts配置:
<action name = "download" class="com.music.song.action.SongAction" method = "DownLoad">
<result name = "success" type = "stream">
<param name = "contentType">audio/mpeg3;charset=UTF-8</param>
<param name = "inputName">targetFile</param>
<param name = "contentDisposition">filename=${downFileName}.mp3</param>
</result>
</action>