使用 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中文網其他相關文章!