【发布时间】:2014-10-19 17:04:10
【问题描述】:
我正在使用非常简单的代码从 ASP .NET Web 应用程序下载文件。当文件名长度为 134 个或更多符号时,问题出在 Internet Explorer 中。显示标准对话框(“您要从 localhost 打开或保存 123456789012345678901234567890123456....pdf 吗?”)。但是,当单击“打开”按钮时,什么也没有发生。没有问题,当文件名长度较短时,即133。
我的代码:
string fileName = "1234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890.pdf";
byte[] fileData = File.ReadAllBytes(Server.MapPath("~/document.pdf"));
Response.Clear();
Response.ContentType = "application/pdf";
Response.AppendHeader("Content-Disposition", "attachment; filename=\"" + fileName + "\"");
Response.OutputStream.Write(fileData, 0, fileData.Length);
Response.Flush();
Response.End();
【问题讨论】:
-
即使在 2014 年,您的路径长度也可能不会总是超过 255(并且 open 会将其存储在很长的路径中) - 这可能是您的问题。
-
谢谢你,Grumbler85。它帮助我更改了 IE 设置中的临时 Internet 文件目录。
标签: asp.net internet-explorer attachment content-disposition