2012-03-09 80 views
0

我们有一个下载页面,用户可以下载PDF文档。此页面当前用作HTTPS。在Safari 只有(包括Windows和Mac)下载大约3/4下载(一旦在蓝色的月亮它将工作)后,下载将失败99%的时间。如果我们用“http”替换URL的“https”部分,问题会立即消失。SSL下的Response.TransmitFile在Safari上失败

的代码如下,相信标准.NET文件输出:

string pdfFile = // generate file here and get the path... 
var info = new FileInfo(pdfFile); 
Response.ClearContent(); 
Response.ClearHeaders(); 
Response.ContentType = "application/pdf"; 
Response.AppendHeader("Content-Disposition", string.Format("attachment;Filename={0}", info.Name); 
Response.TransmitFile(pdfFile); 
Response.Flush(); 
Response.Close(); 

此问题是只在Safari; IE,Firefox和Chrome每次都能正确下载文件。 Safari失败9/10次。

任何想法?我们每个月在Safari上有大约4,000位访问者访问该网站,因此这不是我们可以忽略的。

回答

0

你总是可以尝试使用response.writefile(认为这会首先装载到服务器的内存中,如同传输文件一样)以查看是否有帮助。