nic*_*ine 5 asp.net firefox cross-browser http-headers mime-types
好.我确定它确实下载了扩展名为.xml的XML文件,但是我想知道这里的代码中缺少什么导致下载文件中缺少.xml扩展名.
注意:这适用于IE 6+(没有尝试基于WebKit的浏览器或Opera)
private void GenerateXmlAttachment(string xmlInStringFormat, string fileName)
{
// Where fileName = "someFile.xml"
HttpResponse response = HttpContext.Current.Response;
response.Clear();
response.Charset = string.Empty;
response.ContentEncoding = Encoding.Default;
response.AddHeader("Content-Disposition", "attachment;filename=" + fileName);
response.AddHeader("Content-Length", xmlInStringFormat.Length.ToString());
response.ContentType = "text/xml";
response.Write(xmlInStringFormat);
response.Flush();
response.End();
}
Run Code Online (Sandbox Code Playgroud)
想法有人吗?
小智 7
尝试改变:
response.AddHeader("Content-Disposition","attachment; filename ="+ fileName);
至:
response.AddHeader("Content-Disposition","attachment; filename ="+ HttpUtility.UrlEncode(fileName));
该代码适用于所有浏览器(包括我们大量使用的Firefox).
小智 6
解决了firefox空间问题.用引号括起你的文件名.
更改以下代码
response.AddHeader("Content-Disposition", "attachment;filename=" + fileName);
Run Code Online (Sandbox Code Playgroud)
至
response.AddHeader("Content-Disposition", "attachment;filename=\"" + fileName + "\"");
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
3474 次 |
| 最近记录: |