Mik*_*keN 3 django django-models
从我的Django应用程序,我想提供安全的照片.这些照片不供公众使用,我只希望登录的用户能够查看它们.我不想依赖混淆的文件ID(给照片一个长号的UUID)并依赖于隐藏在我的媒体文件夹中的文件.如何将照片安全地存储在我的数据库中的磁盘上,并将其流式传输到经过身份验证的会话?
使用X-Sendfile标头告诉前端服务器实际服务器的文件.
@check_permissions
def image(request):
response = HttpResponse(mimetype='image/png')
response['X-Sendfile'] = "/real/path/to/image.png"
return response
Run Code Online (Sandbox Code Playgroud)
这是一个相关的问题.您还可以通过查看Satchmo如何为DownloadableProduct对象提供服务来查看真实世界的实现.
最后一点,nginx和lighttpd使用X-Accel-Redirect和X-LIGHTTPD-send-file而不是X-Sendfile.