如何将图像从网络上传到 gcloud 存储?
- 客户端:React 应用
- 服务器:Python(Flask)
客户端:我有一个文件浏览组件,可以从本地驱动器中选择图像。然后,我将图像转换为 Base64 字符串,并将其发送到服务器。
服务器端:
然后我上传 base64 图像: blob.upload_from_string(base64data, type="image/jpeg")
但是当我查看水桶内部时,我看到一个 1 黑色像素图像。
问题
- 我可以将 Base64 图片直接上传到我的存储桶中吗?
- 为什么我的图像被处理为黑色像素?哪里断了?
最佳答案
我遇到了同样的问题,这就是我所做的
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()
关于python - 如何将base64图像上传到GCloud存储,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55326249/