【发布时间】:2020-11-10 19:01:35
【问题描述】:
我正在尝试使用 Flask 创建一个简单的 Web 应用程序。目标是让用户能够上传文件(在我的情况下为 .csv),然后对其进行处理,最后处理后的文件应保存到用户的计算机。
到目前为止,我可以从浏览器中选择文件并上传。我将它保存为 Python 对象,也可以直接将其保存到我的个人下载文件夹中。但是,我不明白如何使下载路径动态化。如果我部署应用程序,每个人都应该能够将处理后的文件直接下载到他们各自的文件夹中。它是如何工作的?
下面是我的代码:
from flask import Flask, render_template, request, redirect
import os
app = Flask(__name__)
@app.route("/")
def home():
return render_template("index.html")
@app.route("/upload-csv", methods=["GET", "POST"])
def uplaod_csv():
if request.method == "POST":
if request.files:
csv = request.files["csv"]
path = "this should be dynamic"
csv.save(os.path.join(path, csv.filename))
return redirect(request.url)
return render_template("index.html")
if __name__ == "__main__":
app.run(debug=True)
我是网络开发的新手,非常感谢任何形式的帮助!
【问题讨论】:
-
动态的意思是像“/users_data/
/...”? -
是的,例如:我不能假设每个人都有相同的文件夹结构,所以我如何确保将文件保存到用户磁盘上存在的位置:)
-
我认为您在混淆。你的路由从用户那里接收到一个文件并将其保存在服务器的磁盘上。
标签: python web flask file-upload web-development-server