动态PDF和Android默认浏览器

时间:2010-12-10 20:09:14

标签: c# android

我正在努力提供按需生成的PDF文件给移动设备用户。我使用的是ASP.NET MVC 2,我使用Report Viewer本地报告导出为PDF格式生成PDF。

这给了我PDF内容的原始字节[]。

然后我使用:

返回它

返回文件(pdf,mimeType,“FileName.pdf”);

注意,我已经尝试使用和不使用“FileName.pdf”默认名称来保存文件。

它适用于桌面浏览器和iPhone。我已经使用WP 7模拟器进行了测试,看起来它可以正常工作,如果它只能读取PDF(它会提示输入正确的文件名来保存它)。

然而,Android似乎在抱怨。

我在Droid-X和Droid设备上测试过,它总是在浏览器下载结果中显示“下载失败”。在Opera Mini上,它提示保存文件(当使用包含文件名的返回方法时),并且PDF在保存在设备上后打开正常。

我可以使用以下命令返回已经存在于磁盘上的PDF文件:File(“〜/ filename.pdf”,“application / pdf”);所以它似乎只是动态PDF的一个问题。

之前有没有人处理过这个问题?

2 个答案:

答案 0 :(得分:0)

  

我在Droid-X和Droid设备上测试过,它总是在浏览器下载结果中显示“下载失败”。

AFAIK,表示HTTP请求失败或MIME类型不是注册了ACTION_VIEW活动的MIME类型。请记住,DROID没有附带PDF查看器,我忘了DROID X是否有。

我同意Chris,因为感觉问题是无效的MIME类型。考虑使用curl或浏览器插件检查您的HTTP响应标头,并确认确实application/pdf作为MIME类型返回。

如果这没有帮助,您可以为我们提供测试的URL,这也会有所帮助。

答案 1 :(得分:0)

我在几年前就看到了这个问题ID,但是如果你只想显示pdf,你可以在google doc viewer中嵌入你的pdf URL,然后引用该URL,然后它应该在Android浏览器上打开。

但是,只有在您的网址可公开访问时才会有效。