C#文件下载返回损坏的文件 - TransmitFile

时间:2012-09-01 13:15:52

标签: c# file download response.transmitfile

在我们的服务器上,我们使用虚拟目录在同一个域下托管10多个网站。现在,其中文件下载功能正在除了2之外的所有网站都有效。我已经用以下功能检查了所有内容,但仍然无法正常工作。

HttpContext.Current.Response.Clear();
HttpContext.Current.Response.ClearHeaders();
HttpContext.Current.Response.ContentType = "application/octet-stream";
HttpContext.Current.Response.AppendHeader("Content-Disposition", "attachment; filename=" + HttpUtility.UrlPathEncode(strFileName));
HttpContext.Current.Response.TransmitFile(fileDirectory + @"\" + fileName);
HttpContext.Current.Response.Flush();
HttpContext.Current.ApplicationInstance.CompleteRequest();

请注意,我还尝试为Content-Length设置代码,清除响应缓存但没有任何效果。事实上,我还比较了工作和非工作网站页面的请求标题,但它们也是相同的。请注意,当我在ashx页面中使用相同的代码时,文件下载工作!我99.99%确定这必须是编码以外的其他问题,因为我没有发现其他网站有任何问题。

如果有人可以专注于此,那将非常感激!否则我将无法选择其他解决方案。

提前致谢

0 个答案:

没有答案