![](/img/trans.png)
[英]How to allow users to download an excel file using python/Flask?
[英]How to allow users access to overwrite files on server Python Flask?
我正在制作一个简单的 Flask 应用程序,它根据用户的不同输入显示不同的图表。 该应用程序使用 Seaborn 生成图形,然后将其保存在服务器上的目录中,然后 Flask 应用程序将显示该图像文件。
如果我要使用本地主机连接到服务器,当我尝试不同的输入时没有问题,这会改变图形并覆盖图像文件。 但是,如果我要使用 Web 地址从另一台计算机连接到服务器,它将显示相同的图形,因为服务器不允许覆盖图像文件。
我使用 Seaborn 的这段代码来保存图形图像文件
<seaborn_graph_object>.figure.savefig(<directory>)
在提供这样的一次性情节时,我倾向于不写文件。
例如,当您制作情节时,请改为执行以下操作:
import BytesIO
import base64
import maptlotlib.pyplot as plt
# Make your plot like you normally do.
plt.plot([1, 2, 3], [4, 5, 6]) # Simple example.
# Put plot in memory.
handle = BytesIO()
plt.savefig(handle, format='png')
plt.close()
# Encode.
handle.seek(0)
figdata_png = base64.b64encode(handle.getvalue()).decode('utf8')
然后在应用程序中,您将执行以下操作:
from flask import render_template
render_template('index.html', plot=plot)
在index.html
中你会有这样的东西:
<img src="data:image/png;base64,{{ plot }}">
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.