0
import os
from flask import Flask, request, redirect, url_for
from werkzeug import secure_filename
UPLOAD_FOLDER = '/home/ubuntu/shared/'
app = Flask(__name__)
app.config['UPLOAD_FOLDER'] = UPLOAD_FOLDER
@app.route("/", methods=['GET', 'POST'])
def index():
if request.method == 'POST':
file = request.files['file']
if file:
filename = secure_filename(file.filename)
file.save(os.path.join(app.config['UPLOAD_FOLDER'], filename))
return redirect(url_for('index'))
return """
<!doctype html>
<title>Upload new File</title>
<h1>Upload new File</h1>
<form action="" method="post" enctype="multipart/form-data">
<p><input type="file" multiple="" name="file">
<input type="submit" value="Upload">
</form>
<p>%s</p>
""" % "<br>".join(os.listdir(app.config['UPLOAD_FOLDER'],))
if __name__ == "__main__":
app.run(host='0.0.0.0', port=8000, debug=False)
サーバーを起動してフォームから2つのファイルを選択すると、そのうちの1つのみがアップロードされます。私はサーバーの時間を試して、ドキュメンテーションを含めて約15のトピックを読んだ。 灘:Flask HTTP Serverは一度に複数のファイルをアップロードすることを許可しません
編集C: 私も変えてみました:
file = request.files['file']
へ:
file = request.files.getlist('file')
はどちらか動作しません。引用符のタイプは効果がありません。それはpython3のことではありませんか?
私が気付いたことは、あなたが二重引用符を囲むのにdocstringを使用していることです。代わりに一重引用符を使用してください。三重引用符はPythonの特別な目的を持っています。 – Peri461