.NET流式PDF无法在移动浏览器中打开

时间:2013-08-01 18:43:34

标签: ios .net pdf mobile stream

我有一个动态生成的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

1 个答案:

答案 0 :(得分:1)

您还应该添加Content-Length标头,这在某些情况下会有所帮助。

Response.AddHeader("Content-Length", ba.Length.ToString());