Tom*_*mmy 2 http content-disposition flask
Flask 有一个返回文件的方法:http : //flask.pocoo.org/docs/1.0/api/#flask.send_file
有一个参数被调用as_attachment,默认值为 False,并且有一个关于它的手动声明:“为了额外的安全性,您可能希望将某些文件作为附件发送(例如 HTML)”
我怎么知道我的用例是否是“那些特定的文件”?或者换句话说,这与将其保留为 False 相比有何作用?
您会在同一文档中找到线索,在参数列表的更下方:
as_attachment–True如果要发送带有Content-Disposition: attachment标题的文件,请设置为。
因此,当设置标志时,会在响应中添加一个额外的标头,它控制浏览器将如何处理响应。来自MDN 文档Content-Disposition:
在常规 HTTP 响应中,
Content-Disposition响应标头是一个标头,指示内容是否应在浏览器中内嵌显示,即作为网页或网页的一部分,或作为附件,被下载和保存在本地。
如果没有明确的Content-Disposition标头,text/html来自 Flask 服务器的响应将在浏览器中显示为网页。如果您需要将文件保存到磁盘(浏览器会提示您如何处理文件),那么您需要有一个Content-Disposition: attachment设置。
因此,当您的响应内容类型可能在浏览器中显示为网页但您希望用户下载它时,请使用as_attachment=True. 现在,除了 HTML 之外,您可能还想为图像、PDF 文件和 XML 设置该标志。
| 归档时间: |
|
| 查看次数: |
3813 次 |
| 最近记录: |