日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

Flask上传文件到本地(底层方法实现)。

發(fā)布時間:2025/5/22 编程问答 16 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Flask上传文件到本地(底层方法实现)。 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

首先 New Project 一下 創(chuàng)建一個 Flask 項目
如果是社區(qū)版的話,就硬創(chuàng)建一個自己的 Flask 項目,自己創(chuàng)Templates,static,app

首先 在 templates (這個 s 不能少) 中創(chuàng)建一個 index.html
<!DOCTYPE html> <html lang="en"> <head><meta charset="UTF-8"><title>Title</title> </head> <body><h1>原生文件上傳</h1><!--定義一個表單,表單提交文件 一定要加上enctype="multipart/form-data,而且是post方法--><form action="" enctype="multipart/form-data" method="post"><input type="file" name="photo" /><input type="submit" value="立即上傳"></form> </body> </html>

在app中編寫

import os # 為文件路徑 from flask import Flask,render_template,request from flask_script import Manager # 不用命令行啟動可以不要app = Flask(__name__) #配置 指定要上傳的路徑 'upload' app.config['UPLOAD_FOLDER'] = os.path.join(os.path.dirname(__file__),'upload') #允許上傳的文件名后綴 ALLOWED_EXTENSIONS = set(['png','jpg','jpeg','gif'])#配置 限定上傳文件大小 8M app.config['MAX_CONTENT_LENGTH'] = 8 * 1024 * 1024manager= Manager(app) # 不是命令行啟動可忽略。#判斷是否是允許的后綴 test.jpg def allow_file(filename):return '.' in filename and filename.rsplit('.',1)[1] in ALLOWED_EXTENSIONSprint(allow_file('canglaoshi.jpg'))#生成隨機字符串 def random_string(length=16): # 第一種方法import randombase_str = '0987654321qwertyuiopasdfghjklzxcvbnm'return "".join(random.choice(base_str) for i in range(length))# 第二種方法# import string# source = list(string.ascii_letters)# for index in range(0,10):# source.append(str(index))# print(source)# return source@app.route('/',methods=['GET','POST']) def hello_world():# request.args[] #get請求參數(shù)# request.form[] #post 請求參數(shù)# request.filesif request.method == 'POST': # 表單為POST請求file = request.files.get('photo')if file and allow_file(file.filename): # 判斷是否滿足后綴名條件#獲取后綴名surfix = os.path.splitext(file.filename)[1] # 獲取文件后綴名# 新的文件名filename = random_string() + surfix # 生成隨機名稱的文件# 存儲file.save(os.path.join(app.config['UPLOAD_FOLDER'],filename)) return render_template('index.html') if __name__ == '__main__':app.run(debug=True) # 普通啟動# manager.run() 命令行啟動

總結(jié)

以上是生活随笔為你收集整理的Flask上传文件到本地(底层方法实现)。的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。