1

我在 .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
4

1 回答 1

1

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

Response.AddHeader("Content-Length", ba.Length.ToString());
于 2013-08-02T08:23:10.543 回答