我有一个动态生成的pdf文件托管在.NET 4.0网站上,我使用此代码流式传输到用户浏览器(stream是pdf文件):
byte[] ba = stream.ToArray();
stream.Close();
Response.Clear();
Response.ContentType = "application/pdf";
Response.BinaryWrite(ba);
Response.Flush();
Response.Close();
最近我们注意到此页面已停止在iOS和Android设备上运行。下载在Android上无声地失败,但在iOS上我收到以下错误:
Safari无法打开该页面。错误是: “操作无法完成。(kCFErrorDomainCFNetwork错误303.)”。
我唯一能找到的错误代码就是格式错误的网址。我的基本URL中有一个连字符,以及用于打开动态PDF的QueryString的问号,但我看不到其中任何一个,除此之外我不确定是否导致错误。我的网址看起来像这样:
https://www.mysite-20.tv/myfolder/QuoteToPDF.aspx?QuoteID=1134
答案 0 :(得分:1)
您还应该添加Content-Length标头,这在某些情况下会有所帮助。
Response.AddHeader("Content-Length", ba.Length.ToString());