[英]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.