我遇到
类似test(10)[1].csv file cannot be found at
C:Documents and SettingsRonLocal SettingsTemporary Internet FilesContent.IE5PQ0STUVW
尝试使用以下代码导出CSV文件时。有人知道可能出了什么问题吗?此问题在IE7/Firefox中不会出现,并且仅特定于IE6。
response.setContentType("application/vnd.ms-excel");
response.setHeader("Content-Disposition", "attachment;filename=" + fileFullName);
遇到了这个问题,并提出了这个问题作为正确答案(或者,我应该说,IE的一个很好的解决方法)。
您的"文件全名"中有"特殊"字符吗?你冷也试着检查你的文件名的长度,我曾经遇到过IE6的问题,文件名太长了。
为了安全起见:您的"fileFullName"仅包含文件名而不是路径,对吗?
我不确定为什么文件名会被修改,但 IE 中的"未找到"通常意味着您还设置了无缓存标头,或零秒的缓存时间。
如果我没记错的话,IE不能直接打开文件——它必须先缓存它,然后从缓存中打开它。所以你必须允许它被缓存。
这意味着:1.为了使事情正常工作,文件名每次都需要是唯一的 - 我通常会在文件名中添加时间戳(毫秒)。
- 为了防止客户端的缓存不必要地增长,您可能应该将缓存时间设置为较短的时间(1 或 2 秒左右),但绝对不是 0;