最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

flask 實現(xiàn)上傳圖片并縮放作為頭像的例子

 更新時間:2020年01月09日 14:16:17   作者:子辰曦  
今天小編就為大家分享一篇flask 實現(xiàn)上傳圖片并縮放作為頭像的例子,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧

個人開發(fā)的 flask 論壇進(jìn)入尾聲,還剩最后一個上傳圖片更換頭像功能,搞了一整天,最后終于解決了所有問題,現(xiàn)在記錄下解決方案。

1. 上傳文件

分析一下更換頭像功能,我們需要做哪些事,簡單的思路是:上傳文件,獲取文件的 url 。

文件上傳的基本原理實際上很簡單,基本上是:

一個帶有 enctype=multipart/form-data 的 <form> 標(biāo)記,標(biāo)記中含有 一個 <input type=file>。

應(yīng)用通過請求對象的 files 字典來訪問文件。

使用文件的 save() 方法把文件永久 地保存在文件系統(tǒng)中。

于是可以得到我們的提供上傳按鈕的表單頁面:

{% extends "base.html" %}
{% import "bootstrap/wtf.html" as wtf %}

{% block title %}SYSUfm - 更換頭像{% endblock %}

{% block page_content %}
<div class="page-header">
  <h1>更換你的頭像</h1>
</div>
<div class="col-md-4">
  <form action="" method=post enctype=multipart/form-data>
    <input type=file name=file><br/>
    <input type=submit value=Upload>
  </form>
</div>

{% endblock %}

2. 創(chuàng)建略縮圖

接下來我們需要有路由到這個頁面的視圖函數(shù),服務(wù)器后臺端的代碼如下:

@main.route('/edit-avatar', methods=['GET', 'POST'])
@login_required
def change_avatar():
  if request.method == 'POST':
    file = request.files['file']
    size = (40, 40)
    im = Image.open(file)
    im.thumbnail(size)
    if file and allowed_file(file.filename):
      filename = secure_filename(file.filename)
      im.save(os.path.join(main.static_folder, 'avatar', filename))
      current_user.new_avatar_file = url_for('main.static', filename='%s/%s' % ('avatar', filename))
      current_user.is_avatar_default = False
      flash(u'頭像修改成功')
      return redirect(url_for('.user', username=current_user.username))
  return render_template('change_avatar.html')

這里 main 是一個 blueprint,file = request.files['file'] 語句獲得圖片文件對象,將其轉(zhuǎn)換為 Image 對象,通過 thumbnail 方法進(jìn)行略縮。

最后 im.save(os.path.join(main.static_folder, 'avatar', filename)) 語句將略縮圖片保存到服務(wù)指定路徑。

以上這篇flask 實現(xiàn)上傳圖片并縮放作為頭像的例子就是小編分享給大家的全部內(nèi)容了,希望能給大家一個參考,也希望大家多多支持腳本之家。

相關(guān)文章

  • Python 中制作偶數(shù)列表的方法

    Python 中制作偶數(shù)列表的方法

    這篇文章主要介紹了Python 中制作偶數(shù)列表的方法,本文通過實例代碼給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2023-05-05
  • Python-openCV開運算實例

    Python-openCV開運算實例

    這篇文章主要介紹了Python-openCV開運算實例,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2020-07-07
  • 將pytorch轉(zhuǎn)成longtensor的簡單方法

    將pytorch轉(zhuǎn)成longtensor的簡單方法

    今天小編就為大家分享一篇將pytorch轉(zhuǎn)成longtensor的簡單方法,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2020-02-02
  • 15個最近才知道的Python實用操作

    15個最近才知道的Python實用操作

    這篇文章主要和大家分享了15個最近才知道的Python實用操作,文中的示例代碼講解詳細(xì),對我們深入了解Python有一定的幫助,感興趣的小伙伴可以了解一下
    2023-04-04
  • 舉例講解Python常用模塊

    舉例講解Python常用模塊

    今天小編就為大家分享一篇關(guān)于舉例講解Python常用模塊,小編覺得內(nèi)容挺不錯的,現(xiàn)在分享給大家,具有很好的參考價值,需要的朋友一起跟隨小編來看看吧
    2019-03-03
  • OpenCV半小時掌握基本操作之高斯雙邊

    OpenCV半小時掌握基本操作之高斯雙邊

    這篇文章主要介紹了OpenCV基本操作之高斯雙邊,本文給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2021-09-09
  • Flask傳遞URL參數(shù)的實現(xiàn)

    Flask傳遞URL參數(shù)的實現(xiàn)

    在Flask中,傳遞URL參數(shù)是一種常見且強(qiáng)大的功能,本文主要介紹了Flask傳遞URL參數(shù)的實現(xiàn),具有一定的參考價值,感興趣的可以了解一下
    2024-09-09
  • python 自動重連wifi windows的方法

    python 自動重連wifi windows的方法

    今天小編就為大家分享一篇python 自動重連wifi windows的方法,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2018-12-12
  • Python獲取電腦硬件信息及狀態(tài)的實現(xiàn)方法

    Python獲取電腦硬件信息及狀態(tài)的實現(xiàn)方法

    這篇文章主要介紹了Python獲取電腦硬件信息及狀態(tài)的實現(xiàn)方法,是一個很實用的技巧,需要的朋友可以參考下
    2014-08-08
  • 使用Python腳本實現(xiàn)批量網(wǎng)站存活檢測遇到問題及解決方法

    使用Python腳本實現(xiàn)批量網(wǎng)站存活檢測遇到問題及解決方法

    本文是小編自己編寫的一個使用python實現(xiàn)批量網(wǎng)站存活檢測。在項目測試中非常有用。本文給大家分享了遇到的問題及解決方案,非常不錯,具有參考借鑒價值,感興趣的朋友一起看看吧
    2016-10-10

最新評論

北宁市| 奇台县| 高州市| 察雅县| 阳山县| 鄢陵县| 绩溪县| 德安县| 辽中县| 兴义市| 彰化县| 汤阴县| 东乌珠穆沁旗| 齐齐哈尔市| 永清县| 龙川县| 宝应县| 游戏| 兴义市| 西宁市| 涿鹿县| 资兴市| 青阳县| 东乡族自治县| 廉江市| 保定市| 德州市| 察雅县| 德阳市| 大洼县| 保德县| 梅河口市| 宜都市| 祁东县| 平乐县| 罗定市| 宝山区| 平顺县| 井研县| 田阳县| 开平市|