首頁 >後端開發 >Python教學 >如何在 Django 中提供具有隱藏路徑的可下載檔案?

如何在 Django 中提供具有隱藏路徑的可下載檔案?

DDD
DDD原創
2024-11-28 11:19:12137瀏覽

How to Serve Downloadable Files with Hidden Paths in Django?

使用 Django 進行動態檔案下載

在 Web 應用程式中,通常需要允許使用者下載檔案。但是,您可能希望隱藏檔案路徑以防止直接存取。使用 Django,您可以提供帶有隱藏路徑的可下載檔案。

問題:

使用者想要建立一個類似http://example.com/download 的URL /?f=somefile.txt ,當造訪時,提供位於/home/user/files/somefile.txt的文件,而不將其顯示在

答案:

要實現此目的,您可以結合使用 HttpResponse 類別和 xsendfile 模組。 HttpResponse 產生檔案的路徑或檔案本身,而 xsendfile 處理實際的檔案服務。

以下是示範整合的範例程式碼片段:

此解決方案要求您控制您的伺服器或確保設定了mod_xsendfile (對於Apache)或X-Accel-Redirect (對於nginx)

Django 1.7更新:

程式碼中的 mimetype 屬性應取代為 content_type。

以上是如何在 Django 中提供具有隱藏路徑的可下載檔案?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn