<Flask> Uploading
Flask
さんでファイルをアップロード upload
。
ベースのコードは、ドキュメントにあった。
下記でうまくいった。
import os from flask import Flask, request, redirect, url_for, send_from_directory from werkzeug import secure_filename UPLOAD_FOLDER = '/path/to/the/uploads' ALLOWED_EXTENSIONS = set(['txt', 'pdf', 'png', 'jpg', 'jpeg', 'gif']) app = Flask(__name__) def allowed_file(filename): return '.' in filename and \ filename.rsplit('.', 1)[1] in ALLOWED_EXTENSIONS @app.route('/', methods=['GET', 'POST']) def upload(): if request.method == 'POST': file = request.files['file'] if file and allowed_file(file.filename): filename = secure_filename(file.filename) file.save(os.path.join(UPLOAD_FOLDER, filename)) return redirect(url_for('uploaded_file', filename=filename)) 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 name=file> <input type=submit value=Upload> </form> ''' @app.route('/<filename>') def uploaded_file(filename): return send_from_directory(UPLOAD_FOLDER, filename) if __name__ == '__main__': app.run(debug=True, port=8000)
マニュアル
Uploading Files — Flask Documentation (0.10)
実際にはこちらでお世話になった。
http://code.runnable.com/UiPcaBXaxGNYAAAL/how-to-upload-a-file-to-the-server-in-flask-for-python
あと、別にExtention
がある。
Flask-Uploads
Flask-Uploads — Flask-Uploads v0.1 documentation
これを見るとExtention
の解析がある。