国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > Python > 正文

Flask實現圖片的上傳、下載及展示示例代碼

2020-02-15 22:40:15
字體:
來源:轉載
供稿:網友

用Flask處理圖片非常容易,這一篇學習一下圖片的上傳、下載及展示。還是以實例代碼演示為主。

首先,實現一個簡單的上傳(過程中未做任何處理,只是為了演示)

點擊選擇圖片,輸入李四:

HTML代碼:

<!DOCTYPE html><html lang="en"><head>  <meta charset="UTF-8">  <title>Title</title></head>  <body>    <div>      <form method="post" action="http://localhost:5000/up_photo" enctype="multipart/form-data">      <input type="file" size="30" name="photo"/>      <br>      <input type="text" class="txt_input" name="name" style="margin-top:15px;"/>      <input type="submit" value="提交信息" class="button-new" style="margin-top:15px;"/>      </form>    </div>  </body></html>

點擊提交信息后,通過 http://localhost:5000/up_photo,傳遞到后臺對應的路由處理,查看控制臺:

后臺接收的路由代碼:

basedir = os.path.abspath(os.path.dirname(__file__)) @app.route('/up_photo', methods=['post'])def up_photo():  img = request.files.get('txt_photo')  username = request.form.get("name")  path = basedir+"/static/photo/"  file_path = path+img.filename  img.save(file_path)  print '上傳頭像成功,上傳的用戶是:'+username  return render_template('index.html')

此時,我們查看static/photo時,已經可以看到我們點擊上傳的圖片了。

以上是最簡單的一個文件上傳示例,我們實際使用中基本不可能這樣去寫,通常會做一些處理。例如:上傳后做圖片名稱唯一性的處理、限制上傳文件的類型、無論上傳成功或者失敗,都去做一些返回提示等等。

限制上傳文件類型,例如,我們希望用戶上傳的文件為圖片類型

ALLOWED_EXTENSIONS = set(['png', 'jpg', 'JPG', 'PNG', 'gif', 'GIF']) def allowed_file(filename):  return '.' in filename and filename.rsplit('.', 1)[1] in ALLOWED_EXTENSIONS

上面的代碼片段通過截取上傳文件的后綴名,判斷是否是屬于我們期望用戶上傳的類型。

更改上傳圖片名稱,防止重名

這里我們使用日期加隨機數生成圖片名,做一個生成字符串的工具類

#-*-coding:utf-8-*-import datetimeimport randomclass Pic_str:  def create_uuid(self): #生成唯一的圖片的名稱字符串,防止圖片顯示時的重名問題    nowTime = datetime.datetime.now().strftime("%Y%m%d%H%M%S"); # 生成當前時間    randomNum = random.randint(0, 100); # 生成的隨機整數n,其中0<=n<=100    if randomNum <= 10:      randomNum = str(0) + str(randomNum);    uniqueNum = str(nowTime) + str(randomNum);    return uniqueNum;            
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 临武县| 炉霍县| 卓资县| 天峨县| 洪湖市| 和龙市| 庆城县| 额尔古纳市| 寿阳县| 普洱| 景洪市| 英德市| 永丰县| 阿鲁科尔沁旗| 九江市| 景谷| 镇江市| 南华县| 镇原县| 咸阳市| 曲阳县| 图们市| 应城市| 九龙县| 双鸭山市| 德令哈市| 静海县| 司法| 老河口市| 崇礼县| 徐闻县| 天长市| 大化| 吴川市| 巴马| 无极县| 曲沃县| 玉环县| 和政县| 马边| 治县。|