问题描述:
如果下载的文件全名称(包含扩展名部分)包含两个或者两个以上的点(.),IE下载对话框中会自动在第一个点前加上[1],
比如:myfile_V_1.000.zip 下载后变成了: myfile_V_1[1].000.zip
解决方案:
判断是否是ie浏览器,如果是则把非最后一个点换成%2E字符串,以下为部分示例代码:
//下载的文件名,注意.是特殊字符,需要转义 String strZipFileName = "myfile" + "_V" + "1.000".replaceAll("\\.", "%2E") + ".zip"; //得到输出流 response.setHeader("Content-Disposition:", "attachment;filename=" + new String(strZipFileName.getBytes("GBK"), "ISO8859_1"));