今天要做一個簡單的頁面,可以實現將文件 上傳到服務器(保存在指定文件夾)
#Sample.py
1 # coding:utf-8 2 3 from flask import Flask,render_template,request,redirect,url_for 4 from werkzeug.utils import secure_filename 5 import os 6 7 app = Flask(__name__) 8 9 @app.route('/upload', methods=['POST', 'GET']) 10 def upload(): 11 if request.method == 'POST': 12 f = request.files['file'] 13 basepath = os.path.dirname(__file__) # 當前文件所在路徑 14 upload_path = os.path.join(basepath, 'static\uploads',secure_filename(f.filename)) #注意:沒有的文件夾一定要先創建,不然會提示沒有該路徑 15 f.save(upload_path) 16 return redirect(url_for('upload')) 17 return render_template('upload.html') 18 19 if __name__ == '__main__': 20 app.run(debug=True)
#upload.html
1 <!DOCTYPE html> 2 <html lang="en"> 3 <head> 4 <meta charset="UTF-8"> 5 <title>Title</title> 6 </head> 7 <body> 8 <h1>文件上傳示例</h1> 9 <form action="" enctype='multipart/form-data' method='POST'> 10 <input type="file" name="file"> 11 <input type="submit" value="上傳"> 12 </form> 13 </body> 14 </html>
這里要注意:<form>標簽里的enctype屬性一定要填寫'multipart/form-data'
意思是不加密,上傳文件的時候一定要選這個,不然不行
好了接下來我們看看運行效果
1. 初始界面

2. 選擇一個文件,點擊上傳

3. 最后網頁會回到初始界面,然后上傳的文件,也保存在我們指定的目錄上了

至此,項目結束@@

