Hal*_*own 48 python file-upload flask
有没有办法用Flask接收多个上传的文件?我尝试过以下方法:
<form method="POST" enctype="multipart/form-data" action="/upload">
<input type="file" name="file[]" multiple="">
<input type="submit" value="add">
</form>
Run Code Online (Sandbox Code Playgroud)
然后打印出以下内容request.files['file']:
@app.route('/upload', methods=['POST'])
def upload():
if not _upload_dir:
raise ValueError('Uploads are disabled.')
uploaded_file = flask.request.files['file']
print uploaded_file
media.add_for_upload(uploaded_file, _upload_dir)
return flask.redirect(flask.url_for('_main'))
Run Code Online (Sandbox Code Playgroud)
如果我上传多个文件,它只打印集合中的第一个文件:
<FileStorage: u'test_file.mp3' ('audio/mp3')>
Run Code Online (Sandbox Code Playgroud)
有没有办法使用Flask的内置上传处理接收多个文件?谢谢你的帮助!
Fed*_*lev 82
您可以使用flask.request.files的方法getlist,例如:
@app.route("/upload", methods=["POST"])
def upload():
uploaded_files = flask.request.files.getlist("file[]")
print uploaded_files
return ""
Run Code Online (Sandbox Code Playgroud)
小智 15
@app.route('/upload', methods=['GET','POST'])
def upload():
if flask.request.method == "POST":
files = flask.request.files.getlist("file")
for file in files:
file.save(os.path.join(app.config['UPLOAD_FOLDER'], file.filename))
Run Code Online (Sandbox Code Playgroud)
这个对我有用。
对于 UPLOAD_FOLDER 如果您需要在 app = flask.Flask( name )之后添加它
UPLOAD_FOLDER = 'static/upload'
app.config['UPLOAD_FOLDER'] = UPLOAD_FOLDER
Run Code Online (Sandbox Code Playgroud)
使用Flask 1.0.2:
files = request.files.getlist("images")
Run Code Online (Sandbox Code Playgroud)
images键/值对的键在哪里。值是多个图像。
这是烧瓶版本“1.0.2”的工作解决方案:
images = request.files.to_dict() #convert multidict to dict
for image in images: #image will be the key
print(images[image]) #this line will print value for the image key
file_name = images[image].filename
images[image].save(some_destination)
Run Code Online (Sandbox Code Playgroud)
基本上,images[image] 有一个带有保存功能的图像文件现在可以对数据做任何你喜欢做的事情。
| 归档时间: |
|
| 查看次数: |
41243 次 |
| 最近记录: |