欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

解決python 上傳圖片限制格式問題

 更新時(shí)間:2019年10月30日 10:27:47   作者:王先生cc  
這篇文章主要介紹了python 上傳圖片限制格式問題,本文給大家介紹的非常詳細(xì),具有一定的參考借鑒價(jià)值,需要的朋友可以參考下

終于忙完有空更新了,這次說下一個(gè)比較簡(jiǎn)單的東西,限制上傳圖片格式問題。

先上代碼!

img_file = 'D:\\image\\test.jpg'
    # uuid生成文件名
    key = shortuuid.ShortUUID().random(length=9)
    if img_file.size > 2097152:
      raise exceptions.APIException('圖片大小超出限制')
    # file_postfix = img_file.name.split('.')[1]
    suffix = img_file.name.rfind('.')
    if suffix == -1:
      raise exceptions.APIException('圖片不正確')
    file_postfix = img_file.name[suffix + 1:] 
    if file_postfix not in ['jpg', 'png', 'gif', 'bmp', 'jpeg', 'JPG', 'PNG',
                'BMP', 'JPEG', ]:
      raise exceptions.APIException('圖片格式不正確')
    file_name = key + '.' + file_postfix

以前項(xiàng)目里總是再用file_postfix = img_file.name.split('.')[1]這種方法再取文件后綴進(jìn)行判斷格式,這種方法對(duì)普通的文件名還是沒問題的例如:圖片1.jpg、圖片2.jpg、圖片3.jpg。但是遇到www.圖片1.jpg這種的圖片名稱就會(huì)爆炸,因?yàn)閳D片名稱中存在兩個(gè).

suffix = img_file.name.rfind('.') 而str的rfind方法就可以避免這種問題,因?yàn)檫@是反響尋找。舉個(gè)例子

 a = '123456'  
 print('下標(biāo)', a.rfind('5')) 

輸出結(jié)果:下標(biāo) 4

 a = '123456'  
 print('下標(biāo)', a.rfind('7'))

 輸出結(jié)果: 下標(biāo) -1

rfind方法從字符串最后以為開始找,找到返回下標(biāo),找不到返回-1。

所以 www.test.jpg 這種格式的圖片他會(huì)從最后位置開始找.找到之后在截取就只剩jpg了,也就好判斷了。

要注意的是rfind的下標(biāo)是從0開始的,所以截取的時(shí)候記得加1。

行了 其他的基本沒啥了。這篇文章就到這吧,最近會(huì)更新上傳圖片到微信服務(wù)器。

總結(jié)

以上所述是小編給大家介紹的解決python 上傳圖片限制格式問題,希望對(duì)大家有所幫助,如果大家有任何疑問請(qǐng)給我留言,小編會(huì)及時(shí)回復(fù)大家的。在此也非常感謝大家對(duì)腳本之家網(wǎng)站的支持!
如果你覺得本文對(duì)你有幫助,歡迎轉(zhuǎn)載,煩請(qǐng)注明出處,謝謝!

相關(guān)文章

  • Python Flask框架實(shí)現(xiàn)簡(jiǎn)單加法工具過程解析

    Python Flask框架實(shí)現(xiàn)簡(jiǎn)單加法工具過程解析

    這篇文章主要介紹了Python Flask框架實(shí)現(xiàn)簡(jiǎn)單加法工具過程解析,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2020-06-06
  • Python基本結(jié)構(gòu)之判斷語句的用法詳解

    Python基本結(jié)構(gòu)之判斷語句的用法詳解

    在程序的設(shè)計(jì)當(dāng)中,代碼并不是逐步按照順序進(jìn)行執(zhí)行的,在運(yùn)行到某一行代碼當(dāng)中,需要停下進(jìn)行判斷接下來將要運(yùn)行到那一個(gè)分支代碼,這種判斷就代表的是分支結(jié)構(gòu)。分支結(jié)構(gòu)是可以使用?if?語句來進(jìn)行判斷的,而我們本篇博客講的也是?if?語句,需要的可以了解一下
    2022-07-07
  • Python讀取csv、Excel文件生成圖表的方法

    Python讀取csv、Excel文件生成圖表的方法

    這篇文章主要介紹了Python讀取csv、Excel文件生成圖表,本文通過示例代碼給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2023-07-07
  • 利用pycharm調(diào)試ssh遠(yuǎn)程程序并實(shí)時(shí)同步文件的操作方法

    利用pycharm調(diào)試ssh遠(yuǎn)程程序并實(shí)時(shí)同步文件的操作方法

    這篇文章主要介紹了利用pycharm調(diào)試ssh遠(yuǎn)程程序并實(shí)時(shí)同步文件的操作方法,本篇文章提供了利用pycharm遠(yuǎn)程調(diào)試程序的方法,且使用的編譯器可以是服務(wù)器中的虛擬環(huán)境的編譯器,可以實(shí)時(shí)同步本地與服務(wù)器的文件內(nèi)容,需要的朋友可以參考下
    2022-11-11
  • Python手拉手教你爬取貝殼房源數(shù)據(jù)的實(shí)戰(zhàn)教程

    Python手拉手教你爬取貝殼房源數(shù)據(jù)的實(shí)戰(zhàn)教程

    隨著人工智能的不斷發(fā)展,機(jī)器學(xué)習(xí)這門技術(shù)也越來越重要,很多人都開啟了學(xué)習(xí)機(jī)器學(xué)習(xí),本文就介紹了機(jī)器學(xué)習(xí)的基礎(chǔ)內(nèi)容,了解python爬蟲,本文給大家分享Python爬取貝殼房源數(shù)據(jù)的實(shí)戰(zhàn)教程,感興趣的朋友一起學(xué)習(xí)吧
    2021-05-05
  • python實(shí)現(xiàn)向ppt文件里插入新幻燈片頁面的方法

    python實(shí)現(xiàn)向ppt文件里插入新幻燈片頁面的方法

    這篇文章主要介紹了python實(shí)現(xiàn)向ppt文件里插入新幻燈片頁面的方法,涉及Python操作ppt文檔添加幻燈片的相關(guān)技巧,非常具有實(shí)用價(jià)值,需要的朋友可以參考下
    2015-04-04
  • python定時(shí)器使用示例分享

    python定時(shí)器使用示例分享

    這篇文章主要介紹了python定時(shí)器使用示例,需要的朋友可以參考下
    2014-02-02
  • Python的scikit-image模塊實(shí)例講解

    Python的scikit-image模塊實(shí)例講解

    在本篇文章里小編給大家整理了一篇關(guān)于Python的scikit-image模塊實(shí)例講解內(nèi)容,有需要的朋友們可以學(xué)習(xí)下。
    2020-12-12
  • 老生常談python的私有公有屬性(必看篇)

    老生常談python的私有公有屬性(必看篇)

    下面小編就為大家?guī)硪黄仙U刾ython的私有公有屬性(必看篇)。小編覺得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧
    2017-06-06
  • Python  unittest單元測(cè)試框架的使用

    Python unittest單元測(cè)試框架的使用

    這篇文章主要介紹了Python unittest單元測(cè)試框架的使用,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧
    2018-09-09

最新評(píng)論