flask 文件上传
生活随笔
收集整理的這篇文章主要介紹了
flask 文件上传
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
?
test_flask.py
from flask import Flask,render_template,request,redirect,url_for,flash from werkzeug.utils import secure_filename #導入安全函數 import osapp = Flask(__name__) app.config['SECRET_KEY'] = os.urandom(24)ALLOWED_EXTENSIONS = set(['txt', 'png', 'jpg', 'jpeg', 'gif']) #設置可以上傳的文件def allowed_file(filename):return '.' in filename and filename.rsplit('.', 1)[1] in ALLOWED_EXTENSIONS #返回結果為false或者true [1]為獲取的文件的后綴名 @app.route('/') def hello_world():return 'Hello World!'@app.route('/upload/',methods=['GET','POST']) def upload():if request.method == 'POST':f = request.files['file']#print (f)if f and allowed_file(f.filename): app.config['UPLOAD_FOLDER'] = os.path.join(os.path.dirname(__file__),'static/uploads') #設置上傳文件到服務器的路徑#print(app.config['UPLOAD_FOLDER'])if not os.path.exists(app.config['UPLOAD_FOLDER']): #如果路徑不存在則創建os.makedirs(app.config['UPLOAD_FOLDER'])upload_file_name = os.path.join(app.config['UPLOAD_FOLDER'],f.filename) #上傳的文件保存的名稱,如果這里用secure_filename函數,對于中文文件,最后只保存為k后綴名#print(secure_filename(f.filename))f.save(upload_file_name)flash("文件上傳成功", 'ok')return redirect(url_for('upload'))flash("文件上傳失敗,無效的格式 %s" % f.filename.rsplit('.', 1)[1],'err')return redirect(url_for('upload'))return render_template('upload.html')if __name__ == '__main__':app.run(debug=True)?
upload.html
<!DOCTYPE html> <html lang="en"> <head><meta charset="UTF-8"><title></title> </head> <body><h2>文件上傳示例</h2><form action="" enctype='multipart/form-data' method='POST'><input type="file" name="file"><input type="submit" value="上傳"></form>{% for v in get_flashed_messages(category_filter=['err']) %}<p style="color:red;">{{ v }}</p>{% endfor %}{% for v in get_flashed_messages(category_filter=['ok']) %}<p style="color:green;">{{ v }}</p>{% endfor %} </body> </html>?
轉載于:https://www.cnblogs.com/FRESHMANS/p/8556923.html
總結
以上是生活随笔為你收集整理的flask 文件上传的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: redis 基本类型和命令(一)
- 下一篇: 从零开始学PowerShell(7)编写