gpt4 book ai didi

python - 尝试使用 PIL 保存图像时出现 IndexError

转载 作者:行者123 更新时间:2023-12-01 11:38:12 25 4
gpt4 key购买 nike

我正在尝试将用户提交的 PNG 图像转换为 JPEG,但是当我尝试保存图像时,我得到了

<type 'exceptions.IndexError'>: string index out of range 

我正在使用 CGI 在 Apache 中运行 python 脚本。当我在控制台中运行脚本时,它工作正常。

这是代码。

if imghdr.what(filePath) == 'png':
p = Image.open(filePath)
p.save('../files/outfile.jpg', "JPEG")
filePath = "../files/outfile.jpg"

错误发生在 p.save() 行。我以为是权限问题,结果我给files/目录777权限还是不行。

编辑这是调用 save() 之后的结果。

 /usr/lib/python2.7/dist-packages/PIL/Image.py in save(self=<PIL.PngImagePlugin.PngImageFile image mode=RGB size=512x512>, fp='../files/outfile.jpg', format='JPEG', **params={})
1434
1435 # may mutate self!
=> 1436 self.load()
1437
1438 self.encoderinfo = params
self = <PIL.PngImagePlugin.PngImageFile image mode=RGB size=512x512>, self.load = <bound method PngImageFile.load of <PIL.PngImagePlugin.PngImageFile image mode=RGB size=512x512>>
/usr/lib/python2.7/dist-packages/PIL/ImageFile.py in load(self=<PIL.PngImagePlugin.PngImageFile image mode=RGB size=512x512>)
204 break
205 else:
=> 206 raise IndexError(ie)
207
208 if not s: # truncated jpeg
builtin IndexError = <type 'exceptions.IndexError'>, ie = IndexError('string index out of range',)

最佳答案

我要自己回答这个问题,因为 Hugo 没有发布答案。

有一个名为 LOAD_TRUNCATED_IMAGES 的标志,默认设置为 False

您必须转到 /usr/lib/python2.7/dist-packages/PIL/ImageFile.py 并将其设置为 True

关于python - 尝试使用 PIL 保存图像时出现 IndexError,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25159964/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com