我正在开发一个后端与python和一个HTTP请求上传文件的API。上传并提交后,文件应该出现在FLASK文件夹中,但它们没有。哪里是我的错??
from flask import Flask, url_for, request, redirect
from werkzeug.utils import secure_filename
import os
folder = "/Documents/Coding/Flask"
extensions = set(['txt', 'jpg', 'png', 'pdf'])
app = Flask(__name__)
def allowed(filename):
return '.' in filename and filename.rsplit('.', 1)[1].lower() in extensions
@app.route("/", methods=['GET', 'POST'])
def index():
if request.method == 'POST':
if 'file' not in request.files:
return redirect(request.url)
file = request.files['file']
if file.filename == '':
return redirect(request.url)
if allowed(file.filename):
filename = secure_filename(file.filename)
file.save(os.path.join(folder, filename))
return redirect(request.url)
return '''
<h1>Upload</h1>
<form method="post" enctpye="multipart/form-data">
<input type="file" name="file">
<input type="submit" name="Upload">
'''
发布于 2021-03-31 23:06:15
将您的folder
变量更改为:
folder = os.path.join(app.instance_path, 'uploads') # Assigns upload path to variable
os.makedirs(folder, exists_ok=True) # Creates the directory,
并将您的file.save
更改为:
file.save(os.path.join(folder, secure_filename(file.name)))
我想这会解决你的问题。
发布于 2021-03-31 23:04:56
检查是否达到"if allowed(file.filename):“语句。有可能请求在此之前结束。
https://stackoverflow.com/questions/66890114
复制相似问题