|
只是针对没有空格和IE的情况下使用Response.AppendHeader()如果想在FireFox下输出没有编码的文件,并且IE下输出的文件名中空格不为+号,就要多一次判断了,接下来将详细介绍下感兴趣的朋友可以了解下,或许对你有所帮助
发现很多园子里的人在处理Response下载文件名是使用这个方法 Response.AppendHeader("Content-Disposition", "attachment;filename=" + HttpUtility.UrlEncode(fileInfo.Name, System.Text.Encoding.UTF8)); 但这个只是针对没有空格和IE的情况下使用。
如果想在FireFox下输出没有编码的文件,并且IE下输出的文件名中空格不为+号,就要多一次判断了。 复制代码 代码如下: if (Request.UserAgent.ToLower().IndexOf("msie") > -1) { downloadfilename = HttpUtility.UrlPathEncode(downloadfilename); } if (Request.UserAgent.ToLower().IndexOf("firefox") > -1) { Response.AddHeader("Content-Disposition", "attachment;filename=\"" + downloadfilename + "\""); } else { Response.AddHeader("Content-Disposition", "attachment;filename=" + downloadfilename); }
|
|