3
我有一組靜態文件(通過應用程序上傳)像圖像,視頻等需要提供給認證用戶(即他們的cookie在會話中被註冊爲認證) 。django靜態文件認證
這些文件是分開的,不以任何方式與其他媒體如CSS,javaacript靜態文件等
考慮到我的需要進行身份驗證的靜態文件將是相當大的,我不知道會是什麼服務他們的最有效的方式(順便說一句,我使用的是wsgi)。
def return_large_file(request, p_filename):
"""
Send a file through Django without loading the whole file into
memory at once. The FileWrapper will turn the file object into an
iterator for chunks of 8KB.
"""
if not os.path.exists(p_filename):
raise Exception('File %s does not exist!')
try:
_content_type = mimetypes.guess_type(p_filename)
except:
_content_type = 'application/octet-stream'
wrapper = FileWrapper(file(p_filename))
response = HttpResponse(wrapper, content_type=_content_type)
response['Content-Length'] = os.path.getsize(p_filename)
return response