下载 excel 以在浏览器中打开而不是直接下载?Python & Flask



我可以在浏览器中打开一个excel文件进行查看而不是下载,并有一个下载按钮,类似于PDF吗?

我使用Python Flask,对于PDF我使用:

@blueprint_name.route("/download_some_pdf", methods=["GET"])
def download_pdf():
return send_file(file_path, cache_timeout=1)

这将使用下载PDF按钮在浏览器选项卡中打开PDF

对于Excel文件:

@blueprint_name.route("/download_some_xlsx", methods=["GET"])
def download_xlsx():
return send_from_directory(dir_path, filename, as_attachment=True, cache_timeout=1)

如果对于Excel,我删除了as_attachment参数,或者我使用send_file而不是send_from_directory,它仍然下载文件,但使用方法名称("download_xlsx"(而不是文件名!!

我使用的是Python 3.8.3和Flask 1.1.2

据我所知,是否打开文件取决于客户端浏览器。我遇到过一个浏览器,它无法读取pdf文件并直接下载。因此,一旦您将文件设置为具有";获取";属性,则由接收器打开或简单地将其保存在目录中。此外;打开pdf";只有在文件已经完全下载到浏览器设置的临时目录中之后才会发生。

最新更新