[英]Browser cache downloadable file
說我將pdf文件存儲在數據庫中(不重要)。 應用程序的用戶會定期訪問頁面以獲取已存儲的PDF並進行打印-對於不干膠標簽。
我不知道他們的下載目錄會隨着時間的推移填充相同文檔的副本,因為他們每次需要打印標簽時都會下載PDF。
有沒有一種方法可以指示瀏覽器緩存此文件? 或任何可能相對鏈接到用戶文件系統的方法? 所有用戶都將使用Windows 7 Pro在Chrome / Firefox上。
Etags將幫助您做到這一點。 如果自上次下載客戶端以來文件尚未更新,則服務器將發送304“未修改”響應,而不是文件。
如果文件是動態生成的,則將需要使用PHP手動實現etag生成,而不是依賴Web服務器。
我找到了解決問題的有用方法。
從對我的問題的評論中,我們得出結論,最好利用瀏覽器的內置PDF / DOC渲染器並下載其他無法識別的內容。
我閱讀了此標准: http : //tools.ietf.org/html/rfc6266
這是解決方案(標題):
Content-Disposition: inline; filename=something.pdf
為了代替必要的瀏覽器,我使用了“內聯”而不是附件。
大多數瀏覽器會根據URL自動執行此操作。 如果特定PDF Blob的URL是恆定的,則除非服務器響應已更改(通過HTTP字段),否則瀏覽器將不會重新下載它。
因此,您應該將站點設計為每個資源都有“永久鏈接”。 這可以通過在URL字符串中具有某種資源ID來實現。
正如其他人在評論中所說的那樣,服務器不能保證客戶端可以做任何特別的事情。 您所能提供的只是建議,希望大多數瀏覽器都將類似地對待。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.