gpt4 book ai didi

image - 如何在python flask服务器中保存base64图像

转载 作者:行者123 更新时间:2023-12-03 17:06:34 25 4
gpt4 key购买 nike

我尝试保存来自 HTTP post 请求的 base64 图像字符串,但出于某种原因,我收到多个不同的错误

binascii.Error: Incorrect padding

此外,我查看了这个 StackOverflow 问题,但没有用 Convert string in base64 to image and save on filesystem in Python

但最后,我得到一个 0 字节的 png 文件

我的问题是如何在我的服务器文件系统上保存 base64 字符串图像

我收到这个错误

return binascii.a2b_base64(s)

我从客户端得到的是这种格式:

data:image/jpeg;base64,/9j/4AAQSkZJRgABAQEASABIAAD/2wCEAAICAgICAgMCAgMFAwMDBQYFBQUFBggGBgYGBggKCAgIC.....AgICgoKC/vuJ91GM9en4hT/AI3TLT8PoqYVw//Z

我从客户端发送这个请求

{
"img" : "data:image/jpeg;base64,/9j/4AAQSkZJRgABAQEASABIAAD/2wCEAAICAgICAgMCAgMFAwMDBQYFBQUFBggGBgYGBggKCAgIC.....AgICgoKC/vuJ91GM9en4hT/AI3TLT8PoqYVw//Z"
}

在我的python代码中,我有这个方法来读取和保存base64图像

@app.route('/upload', methods=['POST']) 
def upload_base64_file():
"""
Upload image with base64 format and get car make model and year
response
"""

data = request.get_json()
# print(data)

if data is None:
print("No valid request body, json missing!")
return jsonify({'error': 'No valid request body, json missing!'})
else:

img_data = data['img']

# this method convert and save the base64 string to image
convert_and_save(img_data)




def convert_and_save(b64_string):

b64_string += '=' * (-len(b64_string) % 4) # restore stripped '='s

string = b'{b64_string}'

with open("tmp/imageToSave.png", "wb") as fh:
fh.write(base64.decodebytes(string))

最佳答案

执行 base64.decodebytes(string) 时会出错,因为您的变量 string 始终等于 b'{b64_string}'。它只是包含不在 Base64 字母表中的字符。

你可以使用类似的东西:

def convert_and_save(b64_string):
with open("imageToSave.png", "wb") as fh:
fh.write(base64.decodebytes(b64_string.encode()))

此外,发送 JPEG 文件并使用 PNG 文件扩展名保存它们很奇怪。

关于image - 如何在python flask服务器中保存base64图像,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47950867/

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