从服务器下载文件时出现问题(保存工作正常,但打开不打开文件)

时间:2012-11-23 09:45:18

标签: c# asp.net download

我正在尝试下载从服务器上的某个位置上传的文件。这是我正在使用的代码 下载文件

Response.ContentType = "image/jpg";
Response.AddHeader("Content-Disposition", "attachment;filename=\"" + filePath + "\"");
Response.TransmitFile(Server.MapPath(filePath));
Response.End();

这里我有各种扩展名的文件,即文件可以是 jpg / pdf / doc / txt 我目前正在设置ContentTypeimage/jpg

当我尝试下载文件而不是正确保存文件时,可以从保存它的物理位置打开但是打开不起作用且文件未下载我得到错误,如图所示。

enter image description here enter image description here

即使我尝试打开jpg类型的文件,我也不会认为这与ContentType

有关

请帮助。

2 个答案:

答案 0 :(得分:0)

最常见的问题是在具有禁用缓存的Internet Explorer上发生此问题(文件将下载到临时文件夹,然后在单击“打开”之前删除)。请参阅IEInternals

如何确定:启动Fiddler并在文件下载响应中查找缓存标头。

如果响应包含Cache-Control: no-cache标头,则必须修改代码以使用Cache-Control: private覆盖它,或更改禁用它的代码以排除生成此代码的处理程序/页面/操作文件(有时asp.net有覆盖Cache-Control标题的问题,因此我通常使用第二种方法。)

答案 1 :(得分:0)

我将Content-Type指定为octet-stream并且有效!