You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

使用Pillow处理非JPEG图片时RGBA转JPEG报错的解决咨询

修复Pillow保存非JPEG图片为JPEG时的RGBA错误

你的代码里已经调用了convert('RGB'),但问题在于Image.convert()方法不会修改原图像对象,而是返回一个新的转换后的图像对象,你没有把这个新对象赋值给im,所以后续操作还是在原RGBA模式的图像上执行,导致保存JPEG时出错。

修改后的函数代码:

def resize_image(image, size):
    """Resizes image"""
    im = Image.open(image)
    # 将转换后的新图像对象赋值给im
    im = im.convert('RGB')
    im.thumbnail(size)
    thumb_io = BytesIO()
    im.save(thumb_io, 'JPEG', quality=85)
    thumbnail = File(thumb_io, name=image.name)
    return thumbnail

核心改动就是把im.convert('RGB')改成im = im.convert('RGB'),这样后续的thumbnail和save操作都是基于转换后的RGB模式图像,就能正常保存为JPEG格式了。

内容的提问来源于stack exchange,提问作者rolandist_scim

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.06 11:40:23