TA的每日心情 | 开心 2021-3-12 23:18 |
---|
签到天数: 2 天 [LV.1]初来乍到
|
修改如下代码:
if (destFileName == null) this.m_response.setHeader("Content-Disposition", String.valueOf(new StringBuffer(String.valueOf(this.m_contentDisposition)).append(" filename=").append(toUtf8String(getFileName(sourceFilePathName)))));
/**
* 将文件名中的汉字转为UTF8编码的串,以便下载时能正确显示另存的文件名.
* @param s 原文件名
* @return 重新编码后的文件名
*/
public static String toUtf8String(String s) {
SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd");
String fileDate = dateFormat.format(new Date());
StringBuffer sb = new StringBuffer();
for (int i=0;i <s.length();i++) {
char c = s.charAt(i);
if (c >= 0 && c <= 255) {
sb.append(c);
} else {
byte[] b;
try {
b = Character.toString(c).getBytes( "utf-8");
} catch (Exception ex) {
System.out.println(ex);
b = new byte[0];
}
for (int j = 0; j < b.length; j++) {
int k = b[j];
if (k < 0) k += 256;
sb.append( "%"+ Integer.toHexString(k).
toUpperCase());
}
}
}
return sb.toString();
}
|
|