目前我正面临这个问题。
当我直接从IE中打开而没有保存时,IE将[1] / Version添加到文件名
示例:后端的Test.xlsx文件,但是当我打开文件时,它重命名为Test [1] .xlsx。这就是创建问题。
任何人都可以在这里暗示我做错了什么。
//res.setContentType("application/vnd.ms-excel");
//res.setContentType("application/vnd.openxmlformats-officedocument.spreadsheetml.sheet");
//res.reset();
//res.setHeader("Expires", "0");
myDownloadTask{
//res.setHeader("Cache-Control","must-revalidate,post-check=0, pre-check=0");
//res.setHeader("Pragma", "public");
//res.setContentType("application/force-download");
//res.setHeader("Content-Transfer-Encoding", "binary");
res.setContentType("application/ms-excel; charset=UTF-8");
res.setCharacterEncoding("UTF-8");
fileName=EncodeFileName(fileName);
res.setHeader("Content-Disposition","attachment; filename="+fileName);
}
答案 0 :(得分:0)
您的硬盘上已有Test.xlsx
的文件,这就是IE将其重命名为Test[1].xlsx
的原因。
我认为你无法处理它,你可以每次在服务器上创建一个唯一的文件名,或者轻轻提示用户确保他的硬盘上没有同名的文件!