【问题标题】:.NET Streamed PDF not opening in mobile browsers.NET Streamed PDF 无法在移动浏览器中打开
【发布时间】:2013-08-02 20:21:54
【问题描述】:

我在 .NET 4.0 网站上托管了一个动态生成的 pdf 文件,我使用此代码将其流式传输到用户浏览器(流是 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。我的基本 URL 中确实有一个连字符,以及用于打开动态 PDF 的 QueryString 的问号,但我没有看到任何解决方法,而且我不确定这是否会导致错误。我的 URL 看起来像这样:

https://www.mysite-20.tv/myfolder/QuoteToPDF.aspx?QuoteID=1134

【问题讨论】:

    标签: ios .net pdf mobile stream


    【解决方案1】:

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

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

    【讨论】:

    • 不错!明白了。我正要放弃并将它们全部保存为文件并静态提供它们。不过,我们试图通过动态内容来避免这种情况。谢谢!
    • 我的网站也存在同样的问题,不过我已经给出了你所说的。有没有其他可能的方法来解决这个问题
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-06-29
    • 2011-06-12
    • 1970-01-01
    • 1970-01-01
    • 2018-02-01
    相关资源
    最近更新 更多