我正在尝试写一个文件到响应下载。我用:如何将文件写入Internet Explorer Mobile的响应?
Response.Clear();
Response.AddHeader("content-disposition", "attachment;filename=" + name);
Response.ContentType = GetMimeType(path);
Response.BinaryWrite(File.ReadAllBytes(path).ToArray());
Response.End();
这适用于多个桌面浏览器。但是,在Windows Phone 8设备上的Internet Explorer Mobile 10上,它会失败。正如预期的那样,我得到一个屏幕显示消息“点击打开”。
然而,当我点击邮件,它定位到与URL“默认[X]热媒”空白页。到目前为止,“x”已经是1,2和3。如果我将页面添加到我的收藏夹,则可以看到Default [x] .html的完整URL为“file:// C:\ Data \ Users \ DefApps \ AppData \ INTERNETEXPLORER \ INetCache \ WNW0K564 \ Default [x]”。 HTM”。
这是相同的,无论该文件的扩展名或MIME类型是什么。我很难理解为什么会发生这种情况。是否有另一种方法将文件写入与IE Mobile兼容的响应中?
正如我所说的,无论文件扩展名还是MIME类型,都会失败。举一个例子,我核实情况是:
filename: themes.ppt, MIME Type: application/vnd.ms-powerpoint
所有文件下载罚款,如果链接直接,但我不能出于安全原因这样做。我不想临时复制这些文件并链接到这些副本,但是如果我找不到将它们写入响应的方法,我将不得不这样做。
有多大文件,有什么IIS版本是你使用和你在调试模式? – user2154065 2013-03-17 06:20:00
这些文件的大小从0.1MB到5MB不等。我正在使用IIS 7,并且我不处于调试模式。 – msbg 2013-03-17 06:23:26