下载带有Response.Write的文件时,文件名中的空格将替换为下划线,当关联的应用程序打开时,会附加方括号中的数字:
Response.AppendHeader("Content-disposition", "attachment; filename=this is the file.xml"); Response.Write(dr["InfopathDoc"]);
这会在关联的应用程序中生成此文件名:
这个_is
_ _
文件[1] .xml
我如何摆脱下划线,为什么我得到[1]?
谢谢
在这里找到了解决这个问题的方法
http://dotnetslackers.com/Community/blogs/kaushalparik/archive/2009/05/06/file-download-problem-filename-with-spaces-truncated-in-ff-and-replaced-by-underscore-in- ie.aspx
要解决FF问题,请在文件名周围添加引号
Response.AddHeader("Content-Disposition","attachment; filename = \""+ filename +"\"");
对于IE,用'%20'替换空格
filename = toDownload.Name.Replace("","%20");