Content-disposition: attachment; filename="beach008.jpg"
工作,但由于它是一个静态文件,我不想处理与Django的请求.目前,我正在使用Nginx来提供静态文件,动态页面通过FastCGI重定向到Django进程.我正在考虑使用Nginx add-header命令,但是可以设置filename =“xx”部分吗?或者也许有一些方法来处理Django中的请求,但是Nginx会提供内容?
解决方法 如果您的django应用程序由Nginx代理,您可以使用 x-accell-redirect.您需要在响应中传递一个特殊的头文件,Nginx将会插入该文件并开始提供该文件,您也可以在同一响应中传递Content-disposition以强制下载.如果您想要控制哪些用户访问这些文件,该解决方案是很好的.
您也可以使用如下配置:
#files which need to be forced downloads location /static/high_res/ { root /project_root; #don't ever send $request_filename in your response,it will expose your dir struct,use a quick regex Hack to find just the filename if ($request_filename ~* ^.*?/([^/]*?)$) { set $filename ; } if ($filename ~* ^.*?\.(jpg)|(png)|(gif)$){ add_header Content-disposition "attachment; filename=$filename"; } } location /static { root /project_root; }
这将强制在一些high_res文件夹(MEDIAROOT / high_rest)中的所有图像上下载.而对于其他静态文件,它的行为就像正常.请注意,这是一个适用于我的修改后的快速入侵.它可能有安全隐患,所以请谨慎使用它.
总结以上是内存溢出为你收集整理的使用Django静态文件的自定义HTTP标头全部内容,希望文章能够帮你解决使用Django静态文件的自定义HTTP标头所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)