首页 > 编程语言 >Python 报错 Could not guess image MIME subtype

Python 报错 Could not guess image MIME subtype

时间:2023-07-19 11:24:48浏览次数:43  
标签:guess img Python image subtype 报错 MIME

Python 报错 Could not guess image MIME subtype

问题描述:

使用MIMEImage打包图片时,报错Could not guess image MIME subtype

from email.mime.image import MIMEImage
identification = uuid.uuid4().hex
with open(abspath, "rb") as f:
    content = f.read()
img = MIMEImage(content)
img.add_header("Content-ID", identification)  # 定义图片 ID,在 HTML 文本中引用

报错截图

image-20230719103102357

解决办法

添加一个参数_subtype="xxx"即可xxx就是图片类型,例如png

identification = uuid.uuid4().hex
with open(abspath, "rb") as f:
    content = f.read()
img = MIMEImage(content, _subtype="png")
img.add_header("Content-ID", identification)  # 定义图片 ID,在 HTML 文本中引用

备注

网上说添加_subtype=False也行,但如果你知道图片的类型,直接添加后缀更好,例如我的图片是.png结尾的,我就添加_subtype="png"

源码解析

从源码中可以看到,如果不给_subtype="xxx"参数,则源码会去猜测,猜不到就抛出异常,所以解决办法就是直接告诉它,我是啥格式的图片,不要让它猜

image-20230719103437233

标签:guess,img,Python,image,subtype,报错,MIME
From: https://www.cnblogs.com/rainbow-tan/p/17565058.html

相关文章

  • python笔记:第十章开箱即用的模块
    1.模块import模块名1.1模块就是程序任何python程序都可以作为模块导入,并标明程序(模块)的位置importsyssys.path.append('路径')importhello//在同一文件夹下会在该文件夹里面自动生成一个__pycache__文件夹,包含处理后的文件。(可删除,无影响)在hello.py里面编写函......
  • [未解决] vue transform-blocks解析源代码报错:Illegal tag name. Use '<' to print '<
    报错内容:[vite]Internalservererror:Illegaltagname.Use'<'toprint'<'.用的是这篇博文的源代码展示方法:如何用vite的vueCustomBlockTransforms(自定义块转换)实现源代码展示使用时突然遇到某一个vue文件添加<demo></demo>标签后报错,但其他vue文件可以正常读取和展示......
  • python将excel内两列的日期合并
    原excel: 目标将year和month合并:year、month里放的1961等是数字,合并日期的时候需要把它们变成字符串再合并,采用.astype(str)#!usr/bin/envpython#-*-coding:utf-8-*-"""@author:Su@file:ceshi.py@time:2023/06/26@desc:"""importpandasaspd#打开excel......
  • 无需学习Python,一个公式搞定领导想看的大屏
    摘要:本文由葡萄城技术团队于博客园原创并首发。转载请注明出处:葡萄城官网,葡萄城为开发者提供专业的开发工具、解决方案和服务,赋能开发者。不要让“做不了”成为数字化转型的障碍随着数字化的脚步加快,越来越多的企业开始注重数据的展示和报告。原有数据的整合,清洗,二次加工变得......
  • git commit 时报错:husky - pre-commit hook exited with code 1 (error)
    在使用git进行commit时出现错误:husky-pre-commithookexitedwithcode1(error)。方式一chatgpt的回答是:报错信息“husky-pre-commithookexitedwithcode1(error)”表示在执行Git提交操作时,pre-commit钩子脚本返回了非零的退出码,表示出现了错误。这种......
  • Vscode Python Workspace 设定流程
    这里记录一下,使用vscode编写一个Python项目时,个人觉得比较舒服的配置方法:预先准备首先保存项目文件夹为工作区,获得xxx.code-workspace文件,以后通过它打开工作区。禁用不需要的插件。Python虚拟环境使用虚拟python环境可以把项目的依赖项安装到项目文件夹下,不会“污......
  • Nest.js框架下,nest g app auth 命令报错!
    首先报错信息是:Failedtoexecutecommand:node@nestjs/schematics:sub-app--name=auth--no-dry-run--no-skip-import--language="ts"--source-root="apps/reservations/src"--spec--no-flat--spec-file-suffix="spec",大概的意思就是无法执行这条命令。......
  • python部分库使用笔记
    pyecharts官网pyecharts是一个用于生成Echarts图表的类库。Echarts是百度开源的一个数据可视化JS库。用Echarts生成的图可视化效果非常棒,pyecharts是为了与Python进行对接,方便在Python中直接使用数据生成图。pip下载pyecharts:pipinstallpyechartspip查询py......
  • 关于调用支付宝密钥出现的报错问题 Not a valid PEM post boundary
    在项目的支付模块中我配置了settings.py文件importos#应用私钥APP_PRIVATE_KEY_STRING=open(os.path.join(os.path.dirname(os.path.abspath(__file__)),'pem','app_private_key.pem')).read()#支付宝公钥ALIPAY_PUBLIC_KEY_STRING=open(os.path.join(os.path.dirn......
  • Python基础day47
    img标签图片,在网页显示图片的标签会有属性: 1.自带的属性2.自定义的属性<imgsrc="img/123.png"alt="你看我是什么东西"width="800px"height="200px">src:写图片的地址1.外链地址2.相对地址alt: 当图片地址加载失败的时候,显示的描述性信......