解決python 上傳圖片限制格式問(wèn)題
終于忙完有空更新了,這次說(shuō)下一個(gè)比較簡(jiǎn)單的東西,限制上傳圖片格式問(wè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ì)普通的文件名還是沒(méi)問(wèn)題的例如:圖片1.jpg、圖片2.jpg、圖片3.jpg。但是遇到www.圖片1.jpg這種的圖片名稱就會(huì)爆炸,因?yàn)閳D片名稱中存在兩個(gè).
suffix = img_file.name.rfind('.') 而str的rfind方法就可以避免這種問(wèn)題,因?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。
行了 其他的基本沒(méi)啥了。這篇文章就到這吧,最近會(huì)更新上傳圖片到微信服務(wù)器。
總結(jié)
以上所述是小編給大家介紹的解決python 上傳圖片限制格式問(wèn)題,希望對(duì)大家有所幫助,如果大家有任何疑問(wèn)請(qǐng)給我留言,小編會(huì)及時(shí)回復(fù)大家的。在此也非常感謝大家對(duì)腳本之家網(wǎng)站的支持!
如果你覺得本文對(duì)你有幫助,歡迎轉(zhuǎn)載,煩請(qǐng)注明出處,謝謝!
相關(guān)文章
pytorch實(shí)現(xiàn)手寫數(shù)字圖片識(shí)別
這篇文章主要為大家詳細(xì)介紹了pytorch實(shí)現(xiàn)手寫數(shù)字圖片識(shí)別,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2021-05-05
Python實(shí)現(xiàn)3行代碼解簡(jiǎn)單的一元一次方程
這篇文章主要介紹了Python實(shí)現(xiàn)3行代碼解簡(jiǎn)單的一元一次方程,很適合Python初學(xué)者學(xué)習(xí)借鑒,需要的朋友可以參考下2014-08-08
python3使用logging包,如何把日志寫到系統(tǒng)的rsyslog中
這篇文章主要介紹了python3使用logging包,如何把日志寫到系統(tǒng)的rsyslog中的問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2023-09-09
Python編程實(shí)現(xiàn)線性回歸和批量梯度下降法代碼實(shí)例
這篇文章主要介紹了Python編程實(shí)現(xiàn)線性回歸和批量梯度下降法代碼實(shí)例,具有一定借鑒價(jià)值,需要的朋友可以參考下2018-01-01
PyQt4實(shí)時(shí)顯示文本內(nèi)容GUI的示例
今天小編就為大家分享一篇PyQt4實(shí)時(shí)顯示文本內(nèi)容GUI的示例,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2019-06-06

