如何将base64图片上传到GCloud Storage

How to upload base64 image to GCloud Storage

如何将网络中的图片上传到 gcloud Storage?

客户端:我有一个文件浏览组件,我从本地驱动器中选择一个图像。然后,我将图片转为base64字符串,发送给服务器。

服务器端: 然后我上传 base64 图片:blob.upload_from_string(base64data, type="image/jpeg")

但是当我查看存储桶内部时,我看到了一个 1 像素的黑色图像。

问题

最后我所做的是删除字符串的第一部分data:image/jpeg;base64,,(当然它不一定是 jpeg.. 这只是一个例子)。 我将字符串的其余部分解码回图像,并也传递了 content_type。

解决了我的问题

我遇到了同样的问题,我就是这样做的

import base64, re

bucket = storage.bucket()
blob = bucket.blob(path)
regex = r"(?<=data:)(.*)(?=;)"
split = image.split('base64')
format_image = re.findall(regex, split[0])[0]
base64_image = base64.b64decode(split[1])
blob.upload_from_string(base64_image, content_type=format_image)
# Opt : if you want to make public access from the URL
blob.make_public()