Content-disposition 認識

Content-disposition 是 MIME 協議的擴展,MIME 協議指示 MIME 用戶代理如何顯示附加的文件。當 Internet Explorer 接收到頭時,它會激活文件下載對話框,它的文件名框自動填充了頭中指定的文件名。(請注意,這是設計致使的;沒法使用此功能將文檔保存到用戶的計算機上,而不向用戶詢問保存位置。)  python

        服務端向客戶端遊覽器發送文件時,若是是瀏覽器支持的文件類型,通常會默認使用瀏覽器打開,好比txt、jpg等,會直接在瀏覽器中顯示,若是須要提示用戶保存,就要利用Content-Disposition進行一下處理,關鍵在於必定要加上attachment:django

Response.AppendHeader("Content-Disposition","attachment;filename=FileName.txt");瀏覽器

在線打開 設計

response.setHeader("Content-Disposition", "inline; filename=" + f.getName());

備註:這樣瀏覽器會提示保存仍是打開,即便選擇打開,也會使用相關聯的程序好比記事本打開,而不是IE直接打開了。代理

舉個例子:code

用django後臺:文檔

#只在瀏覽器中打開 不下載 
response = HttpResponse(buf.getvalue(), 'image/jpg')
response = HttpResponse(buf.getvalue(), 'image/jpg')
 #聲明 Content-Disposition 下載
 response['Content-Disposition'] = 'attachment; filename=' + 'test.png'
相關文章
相關標籤/搜索