基本思路:瀏覽器
1.Content-Disposition用來觸發瀏覽器的下載,同時能夠設置默認的下載的文件名。
2.修改Content-Type爲瀏覽器不能識別打開的類型,觸發瀏覽器去下載。
在又拍雲上能夠經過多種方式靈活實現,下面咱們來探索一下各類姿式吧。 app
Content-Dispositioncdn
又拍雲 CDN 服務支持經過 _upd 參數和 Rewrite 方法實現。視頻
示例一:圖片
請求參數中加入 「_upd=true」 ,表明添加響應頭爲: Content-Disposition: attachmentget
舉個栗子:it
Rewrite實現規則:stream
$ADD_RSP_HEADER(Content-Disposition, attachment)配置
2.示例二:
請求參數中加入 「_upd=abc.png」,表明添加響應頭爲: Content-Disposition: attachment;
filename="abc.png"
舉個栗子:
Rewrite實現規則:
$ADD_RSP_HEADER(Content-Disposition, 'attachment;filename="abc.png"')
經過 Rewrite 實現不用改造 URL ,可是對於 URL 的更加精確控制比較麻煩。Rewrite實現比較適用於目錄級別或者整個服務下的控制。_upd 參數比較適合精確到單個URL的控制。
注意:
參數跟隨 開啓的狀況下,_upd參數無效。建議使用Rewrite去實現。
Content-Type
對於使用又又拍雲的存儲文件,經過API去上傳的時候能夠指定 Content-Type ;固然也能夠經過 Rewrite規則去實現修改 Content-Type 。
1.示例:
經過API上傳的時候指定文件類型好比:
content-Type: application/octet-stream
經過 Rewrite 實現:
$ADD_RSP_HEADER(Content-Type, application/octet-stream, 1)
其中 1 表示會覆蓋掉已有的響應頭 。
修改 Content-Type 不是很經常使用,具備必定的侷限性。可是也能夠實現,在上傳的時候就直接指定了文件類型,後面就不用設置過多的配置。對於就是須要圖片 視頻 下載的應用,在上傳就指定文件類型也是不錯的選擇。