gpt4 book ai didi

python - 将 Base64 字符串加载到 Python 图像库中

转载 作者:太空狗 更新时间:2023-10-29 18:24:28 26 4
gpt4 key购买 nike

我正在通过 ajax 将图像作为 base64 字符串发送到 Django。在我的 Django View 中,我需要调整图像大小并将其保存在文件系统中。

这是一个 base64 字符串(简化):

data:image/jpeg;base64,/9j/4AAQSkZJRg-it-keeps-going-for-few-more-lines=

我尝试使用以下 python 代码在 PIL 中打开它:

img = cStringIO.StringIO(request.POST['file'].decode('base64'))
image = Image.open(img)
return HttpResponse(image, content_type='image/jpeg')

我试图显示上传的图片,但是 firefox 提示说 'The image cannot be displayed because it contains error'

我无法找出我的错误。

解决方案:

pic = cStringIO.StringIO()

image_string = cStringIO.StringIO(base64.b64decode(request.POST['file']))

image = Image.open(image_string)

image.save(pic, image.format, quality = 100)

pic.seek(0)

return HttpResponse(pic, content_type='image/jpeg')

最佳答案

解决方案:

将打开的 PIL 图像保存到类似文件的对象可以解决问题。

pic = cStringIO.StringIO()
image_string = cStringIO.StringIO(base64.b64decode(request.POST['file']))
image = Image.open(image_string)
image.save(pic, image.format, quality = 100)
pic.seek(0)
return HttpResponse(pic, content_type='image/jpeg')

关于python - 将 Base64 字符串加载到 Python 图像库中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19908975/

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