作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我尝试保存来自 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"
}
@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/
我是一名优秀的程序员,十分优秀!