终于忙完有空更新了,这次说下一个比较简单的东西,限制上传图片格式问题。

先上代码!

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

以前项目里总是再用file_postfix = img_file.name.split('.')[1]这种方法再取文件后缀进行判断格式,这种方法对普通的文件名还是没问题的例如:图片1.jpg、图片2.jpg、图片3.jpg。但是遇到www.图片1.jpg这种的图片名称就会爆炸,因为图片名称中存在两个.

suffix = img_file.name.rfind('.') 而str的rfind方法就可以避免这种问题,因为这是反响寻找。举个例子

a = '123456'

print('下标', a.rfind('5'))

输出结果:下标 4

a = '123456'

print('下标', a.rfind('7'))

输出结果: 下标 -1

rfind方法从字符串最后以为开始找,找到返回下标,找不到返回-1。

所以 www.test.jpg 这种格式的图片他会从最后位置开始找.找到之后在截取就只剩jpg了,也就好判断了。

要注意的是rfind的下标是从0开始的,所以截取的时候记得加1。

行了 其他的基本没啥了。这篇文章就到这吧,最近会更新上传图片到微信服务器。

总结

以上所述是小编给大家介绍的解决python 上传图片限制格式问题,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对脚本之家网站的支持!

如果你觉得本文对你有帮助,欢迎转载,烦请注明出处,谢谢!

python脚本限制_解决python 上传图片限制格式问题相关推荐

  1. python super 多重继承_解决python super()调用多重继承函数的问题

    当类间继承关系很简单时,super()的使用很简单. class A(object): def __init__(self): print('a') class B(A): def __init__( ...

  2. 魔兽世界python脚本拍卖行_利用python脚本进行资产监测

    写在前头一些与本文无关的话 好久好久没有写博客了,上次写的那篇离现在也有大半年了.这大半年去了公司实习,公司事情比较多也没时间整理. 好吧!主要还是因为懒,在这期间也想恢复想blog的,但又被心中那个 ...

  3. python中幂函数_解决python中的幂函数、指数函数问题

    最近在调代码,碰到幂函数.指数函数,总是提示 ValueError: math domain error ValueError: negative number cannot be raised to ...

  4. python脚本下载_日记python脚本

    日记python脚本是一款日记辅助脚本,主要是为用户快速读取日期,并创建当日对应的年文件夹.月文件夹,节省了用户自己手动去创建的麻烦.该脚本工具在使用前需要进行一些调整,诸如创建文件夹的位置等都需要用 ...

  5. python pillow环境_解决Python图片处理模块pillow使用中出现的问题

    最近爬一个电影票房的网站(url:http://58921.com/alltime),上面总票房里面其实是一张图片,那么我需要把图片识别成文字,来获取票房数据. 我头脑里第一想到的解决方案就是要用te ...

  6. python乱码怎么办_解决python发送邮件乱码问题

    使用python发邮件很简单,但是遇到乱码问题很烦恼. 乱码问题有几种:有发件人名称乱码,有标题乱码,也有正文乱码的问题. 一.发件人名称乱码 要解决发件人名称乱码问题,必须使用Header,如下代码 ...

  7. windows运行python脚本卡住_运行python脚本安装windows服务时没有响应

    代码如下: import win32serviceutil import win32service import win32event import servicemanager import soc ...

  8. python 概率分布模型_使用python的概率模型进行公司估值

    python 概率分布模型 Note from Towards Data Science's editors: While we allow independent authors to publis ...

  9. Python语言学习:解决python版本升级问题集合(python2系列→Python3系列)导致错误的总结集合

    Python语言学习:解决python版本升级问题集合(python2系列→Python3系列)导致错误的总结集合 目录 Python版本升级的原因 Text and binary data in P ...

最新文章

  1. java抓取网页标题内容_[Java教程]java 网页页面抓取标题和正文
  2. php5时区,[摘]PHP5.1时区设置
  3. 全局静态存储区、堆区和栈区深入剖析
  4. oracle 多个实例互相切换实例
  5. 试题 历届试题 买不到的数目(dp/数学)
  6. IndexOptions类说明
  7. 哈希表,哈希算法(C语言)
  8. Dockerfile 文件结构、docker镜像构建过程详细介绍
  9. oracle查询学生人数语句,Oracle期末复习题-带答案
  10. SQL Server 2008 评估期已过解决方法
  11. 【图像处理】MATLAB:频域处理
  12. selenium启动火狐浏览器_selenium之nodejs入门使用
  13. c语言怎么调用fork函数,C语言编程创建函数fork() 执行解析.pdf
  14. 开源电路仿真软件CircuitJS1介绍与使用入门
  15. 深度学习面试每日一题
  16. java virt res_top命令里内存参数 VIRT, RES 和 SHR 分别是什么意思
  17. 科达与中航工业签署战略合作协议
  18. openvas linux/window漏洞扫描和整改
  19. 信息安全系统设计基础实验一
  20. 告诉你什么是挖洞最清奇的脑回路

热门文章

  1. 原来它一直在“装嫩”|“心电图”揭秘富锂巨星真实年龄
  2. 西媒盘点:历史不该遗忘的七位女数学家
  3. 美国哪些专业最赚钱?从489个大学专业中替你挑出薪资最高的50名!
  4. 数学的威力有多大?足以震慑全球......
  5. java 入门程序_自学 Java 怎么入门?
  6. ubuntu的java环境变量_Ubuntu安装JDK与环境变量配置
  7. osg学习笔记(一)
  8. 阿里云张献涛:自主最强DPU神龙的秘诀
  9. MaxCompute 挑战使用SQL进行序列数据处理
  10. 涨姿势 | 一文读懂备受大厂青睐的ClickHouse高性能列存核心原理