簡體   English   中英

Django和/或Apache:使用不同的名稱提供(靜態)文件

[英]Django and/or Apache: serve (static) files with a different name

我使用散列作為文件名來存儲大量文件,但是當用戶想要下載它時,我希望能夠為該文件指定一個新名稱。

假設用戶導航到www.myurl.com/userxy/files/some.pdf 在該URL的Django視圖中,我現在可以查找對應文件,該文件可能位於服務器上.../files/46dfa12bbf32d523fbb3642dfee45bb4

那么我現在如何才能將此文件作為some.pdf給客戶端? 我是否必須首先復制文件,並在光盤上給它一個不同的名稱,或者我可以以某種方式提供原始文件? 我正在嘗試所有的良好實踐嗎?

我也不知道在什么級別(Apache或Django)這種類型的操作最好處理。 但是由於我沒有為Apache或Django找到任何關於它的內容,我會對其中任何一個的解決方案感興趣。

引用django文檔告訴瀏覽器將響應視為文件附件 ,您應該通知它作為響應:

>>> response = HttpResponse(my_data, content_type='application/vnd.ms-excel')
>>> response['Content-Disposition'] = 'attachment; filename="some.pdf"'

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM