2014-03-25 157 views
0

我有一个动态生成pdf的ASP.Net WebForm。 PDF下载适用于所有桌面浏览器,以及iPad,Chrome移动和Firefox手机。但是,在Android浏览器中,pdf下载失败,并在通知区域中显示消息“下载不成功”。我写的PDF格式的响应与此代码:安卓浏览器PDF下载失败

using (PdfDocument pdf = this.RenderPDF()) 
using (MemoryStream stream = new MemoryStream()) 
{ 
    pdf.Save(stream, false); 
    response.Clear(); 
    response.AddHeader("content-disposition", "inline;filename=myPdf.pdf"); 
    response.AddHeader("content-length", stream.Length.ToString()); 
    response.ContentType = "application/pdf"; 
    response.BinaryWrite(stream.ToArray()); 
    response.Flush(); 
    stream.Close(); 
    response.End(); 
} 

我应该做的不同,以获取PDF下载在Android浏览器的工作?

+0

您尝试过并获得最终解决方案吗? – Kiquenet

回答

1

既然你说过PDF是由表单生成的,我假设这是对POST的回应。我有同样的问题,发现this comment一个类似的S/O问题:

问题是由于在Android浏览器和海豚,这会导致下载失败的POST行为的错误。作为解决方法,我将自己的操作更改为GET。

引用的问题是Support download of POST responses - 自2009年开始!


(这个问题对S/O反复几次,也不收,也不回答所有这些似乎是合理的,因此,如何对一些链接: