1、創建表單提交頁面,如:upload.html
<html>
<head><title>File Upload</title>
</head>
<body><form action="http://localhost:8888/uploadfile" method="POST" enctype="multipart/form-data"><input type="file" name="file001" /><input type="submit" value="提交" /></form>
</body>
</html>
2、url地址關聯表單提交頁面
@app.route('/upload')
def uploadFile():return render_template('upload.html')
3、提交表單后定義執行保存的函數
@app.route('/uploadfile',methods=['GET','POST'])
def save():if request.method == 'POST':f = request.files['file001'] #提取文件f.save(os.path.join(app.config['UPLOAD_FOLDER'], secure_filename(f.filename)))
4、完整演示代碼
from flask import Flask, render_template, request
from werkzeug.utils import secure_filenameimport osapp = Flask(__name__)
app.config['UPLOAD_FOLDER'] = 'upload/' #app.config['UPLOAD_FOLDER'] 定義上傳文件夾的路徑 @app.route('/upload')
def uploadFile():return render_template('upload.html')@app.route('/uploadfile',methods=['GET','POST'])
def save():if request.method == 'POST':f = request.files['file001'] #提取文件f.save(os.path.join(app.config['UPLOAD_FOLDER'], secure_filename(f.filename))) #保存文件,目標文件的名稱可以是硬編碼的,也可以從 ?request.files[file] ?對象的? filename ?屬性中獲取。但是,建議使用 ?secure_filename()? 函數獲取它的安全版本。return 'file uploaded successfully'else:return render_template('upload.html')if __name__ == '__main__':app.run(debug=True)