gpt4 book ai didi

http - flask 发送文件 : how do I know if I need "as_attachment"?

转载 作者:行者123 更新时间:2023-12-01 21:59:03 24 4
gpt4 key购买 nike

Flask 有一个返回文件的方法:http://flask.pocoo.org/docs/1.0/api/#flask.send_file

有一个名为 as_attachment 的参数,默认值为 False,并且有一个关于它的 handwaavy 声明:“为了额外的安全,您可能希望将某些文件作为附件发送(例如 HTML)”

我如何知道我的用例是否是“那些特定文件”?或者换句话说,这与将其保留为 False 相比有何作用?

最佳答案

您会在同一文档中找到线索,在参数列表的更下方:

as_attachment – set to True if you want to send this file with a Content-Disposition: attachment header.

因此,当设置标志时,将向响应添加一个额外的 header ,它控制浏览器将如何处理响应。来自MDN documenation on Content-Disposition :

In a regular HTTP response, the Content-Disposition response header is a header indicating if the content is expected to be displayed inline in the browser, that is, as a Web page or as part of a Web page, or as an attachment, that is downloaded and saved locally.

如果没有显式的 Content-Disposition header ,来自 Flask 服务器的 text/html 响应将在浏览器中显示为网页。如果您需要将文件保存到磁盘(浏览器会提示您如何处理该文件),那么您需要设置一个 Content-Disposition: attachment

因此,当您的响应内容类型可能在浏览器中显示为网页但您希望用户下载它时,请使用 as_attachment=True。如今,除了 HTML 之外,您可能还想为图像、PDF 文件和 XML 设置该标志。

关于http - flask 发送文件 : how do I know if I need "as_attachment"?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54425967/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com