我正在爲按需生成的PDF文件提供給移動設備的用戶。我正在使用ASP.NET MVC 2,並使用Report Viewer本地報告導出爲PDF生成PDF。動態PDF和Android默認瀏覽器
這給了我PDF內容的原始字節[]。
我然後用退回它
回報文件(PDF,mime類型, 「FileName.pdf」);
請注意,我已經嘗試過使用和不使用「FileName.pdf」默認名稱來保存文件。
它適用於桌面瀏覽器和iPhone。我已經用WP 7模擬器進行了測試,看起來好像它可以正常讀取PDF文件(它會提示輸入正確的文件名來保存它)。
然而,Android似乎在抱怨。
我已經在Droid-X和Droid設備上進行了測試,它總是在瀏覽器下載結果中顯示「下載失敗」。在Opera Mini上,它提示保存文件(當使用包含文件名的返回方法時),並且PDF在保存到設備上後打開正常。
我可以通過以下方式返回已經存在於磁盤上的PDF文件:File(「〜/ filename.pdf」,「application/pdf」);所以它似乎只是動態PDF的問題。
有沒有人處理過這個問題?
您是否可以驗證您是否在動態情況下以相同的方式設置了MIME類型?你可以窺探流量或以其他方式轉儲標題進行比較嗎? – 2010-12-10 20:26:25
mime類型被設置爲application/pdf。我發現似乎正在發生的事情是,在資源發生POST後立即發生,Android設備(即使使用SDK中的模擬器執行)也爲同一資源執行立即GET。 HTTP POST成功,但GET得到了404(因爲我只是響應POST)。我不知道它爲什麼要求兩次(每次使用不同的方法)。在啓用HTTP GET之後,它可以正常工作,並且不會執行兩個請求。我還沒有弄清楚雙重要求,但我確實取得了進展。 – 2010-12-10 21:55:45
我有完全相同的問題。 Firefox和Opera Mobile的工作,但不是本地DroidX瀏覽器。順便說一句,動態JPEG圖像工作正常。我正在使用HTTPS,這似乎讓事情變得更糟。我已經能夠通過HTTP加載靜態PDF文件。 MIME類型是正確的。看起來像我在Android論壇上看到的Android用戶的常見問題。 – 2011-02-08 17:23:37