PDF文件在服務器端生成並推送到客戶端進行下載。雖然下載適用於Windows上的所有瀏覽器,但在IPAD上失敗。 請指教。PDF文件下載不適用於iPad特定瀏覽器
規格:OS 6,使用Safari 6.1,Chrome的23.0.1271.100
請注意:在這個應用PDF不會下載到一個新的URL(NO重定向)。
一般行爲:IPad瀏覽器(safari/chrome)不支持下載窗口,因此它預計會打開pdf並提供選項來查看PDF兼容的應用程序。目前沒有發生。
當調試下載下面的servlet的動作代碼,在服務器,但瀏覽器在iPad上成功生成PDF文件不顯示:-(
代碼示例:
/**設置響應頭**/
response.setHeader("Content-Type", "application/pdf");
response.setHeader("Content-Disposition", "attachment;filename=sample.pdf");
response.setHeader("Connection", "close");
response.setHeader("Cache-Control","cache");
response.setHeader("Pragma","cache");
response.setDateHeader ("Expires", dt.getTime() + 100000);
/**寫入輸出**/
InputStream stream = info.getInputStream();
OutputStream os = response.getOutputStream();
try {
response.setContentType(contentType);
copy(stream, response.getOutputStream());
}
finally {
if (stream != null) {
stream.close();
}
}
1. Content-Disposition「inline」在OS上似乎起作用。試用Safari和Chrome瀏覽器。 2.有趣的一點是setHeader(Content-Type,xxx)v/s setContentType 嘗試過排列組合並沒有幫助Ipad,但在Windows上Firefox明確顯示setContentType是必須的。 我的問題仍未解決。你的洞察力會有很大的幫助。 –