Tip: Asp.net下载默认文件名里包含空格时,如何防止FireFox只截取空格前一部分作为文件名
2007-10-14 21:27
405 查看
以前写过一个Post:Tip:如何指定浏览器下载并保存动态生成的数据时对话框里的默认文件名,但是如果指定的文件名里包含了空格,FireFox就会截取空格前的部分作为默认文件名.
解决方法很简单:用双引号把文件名括起来:
Response.AppendHeader("Content-Disposition", "attachment; filename=\"" + fileName + "\"");
Response.ContentType = "application/octet-stream";
不过还是有一个问题没解决,在IE中,如果文件名包含两个英文名点(period, 字符'.')的话,它会在第一个点前自动加个"[1]",于是你原来的文件名"aaa.bbb.whatever"就变成了"aaa[1].bbb.whatever". 哪位知道怎么解决这个问题,给大家分享一下?
--------
Update: 根据微软的说明,第二个问题根本就无法解决。
我说,大家一起劝用户们扔掉IE吧!
--------
Update:
第二个问题可以这样解决:
if (Request.Browser.Browser.Contains("IE"))
{
string ext = fileName.Substring(fileName.LastIndexOf('.'));
string name = fileName.Remove(fileName.Length - ext.Length);
name = name.Replace(".", "%2e");
fileName = name + ext;
}
Response.AppendHeader("Content-Disposition", "attachment; filename=\"" + fileName + "\"");
Response.ContentType = "application/octet-stream";
解决方法很简单:用双引号把文件名括起来:
Response.AppendHeader("Content-Disposition", "attachment; filename=\"" + fileName + "\"");
Response.ContentType = "application/octet-stream";
不过还是有一个问题没解决,在IE中,如果文件名包含两个英文名点(period, 字符'.')的话,它会在第一个点前自动加个"[1]",于是你原来的文件名"aaa.bbb.whatever"就变成了"aaa[1].bbb.whatever". 哪位知道怎么解决这个问题,给大家分享一下?
--------
Update: 根据微软的说明,第二个问题根本就无法解决。
我说,大家一起劝用户们扔掉IE吧!
--------
Update:
第二个问题可以这样解决:
if (Request.Browser.Browser.Contains("IE"))
{
string ext = fileName.Substring(fileName.LastIndexOf('.'));
string name = fileName.Remove(fileName.Length - ext.Length);
name = name.Replace(".", "%2e");
fileName = name + ext;
}
Response.AppendHeader("Content-Disposition", "attachment; filename=\"" + fileName + "\"");
Response.ContentType = "application/octet-stream";
相关文章推荐
- asp.net 上传或下载当文件名包含有特殊字符"#"的处理
- asp.net 上传或下载当文件名包含有特殊字符"#"的处理
- 【转】彻底解决Asp.net文件下载(Response.WriteFile)时文件名的中文乱码和空格异常问题
- 解决Asp.net 实现文件下载时、输出文件时文件名的中文乱码和空格异常
- FireFox中下载文件,文件名不能包含空格
- asp.net 下载文件 防止中文文件名出现乱码
- 彻底解决Asp.net 文件下载时文件名的中文乱码和空格异常全球性技术难题
- 如何解决ASP.NET下载时的中文文件名乱码,与TXT文件中存在代码两个问题
- 如何防止asp.net盗链下载问题的实现方法
- Tip:如何指定浏览器下载并保存动态生成的数据时对话框里的默认文件名
- asp防止firefox下载文件的时候丢失部分文件名
- 彻底解决Asp.net 文件下载时文件名的中文乱码和空格异常全球性技术难题
- ASP.NET 如何有效的防止资源被盗(防盗链下载)
- 解决Asp.net 实现文件下载时、输出文件时文件名的中文乱码和空格异常
- [转]Asp.Net 如何在Server端如何使用非系统默认安装字体?
- 如何防止Asp.net用户多次登录
- 如何在ASP.NET中下载文件
- asp.net 迅雷等下载工具会将文件取为 .aspx/.ashx等文件名的解决办法
- 如何在ASP.NET中下载文件
- ASP.NET中防止Access数据库下载