如何查看存储在 Google 云存储桶中的图像?

How to view an image stored in Google cloud storage bucket?

我有一个存储图像的存储桶,当我使用图像的 public URL 检索图像时,它会在浏览器中下载图像,而不是在浏览器中显示图像,如何查看图像而不是下载图像。我使用下面的 URL 作为上传的图片。

https://www.googleapis.com/download/storage/v1/b/image-downloader-bucket/o/a06266f6-6082-468e-92ca-f918a48533a8?generation=1455661996337000&alt=media

谁能告诉我如何创建 URL 查看图片的权限?

如果该对象是公开可读的,您可以直接在“https://storage.googleapis.com/BUCKET_NAME/OBJECT_NAME", which in your case would be https://storage.googleapis.com/image-downloader-bucket/a06266f6-6082-468e-92ca-f918a48533a8.

查看它

是的,有!您实际上通过图像 API 调整了存储在 Google 云存储中的文件图像的大小。看看这个 link:

https://cloud.google.com/appengine/docs/java/images/

我的问题是我没有为对象设置 mimetype。没有它,浏览器不知道它是一个图像,所以它正在下载文件而不是在浏览器中显示它 window

添加这个就成功了:

const blobStream = blob.createWriteStream({
  metadata: {
    contentType: "image/jpeg"
  }
});

类似于@ehero 的响应,但对于 python,重点是在上传文件之前使用 content_type blob 属性:

from google.cloud import storage
storage_client = storage.Client.from_service_account_json('your/path/to/service/credentials.json')
bucket = storage_client.bucket('my-bucket-name')
blob = bucket.blob('my/path/in/storage.jpg')
blob.content_type = 'image/jpeg' # This one is the important
blob.upload_from_file(file) # Also available upload_from_filename
  • 转到Google 云控制台-> 存储-> 浏览器 https://console.cloud.google.com/storage/browser
  • 点击你的桶
  • 您可以 select 存储桶中的 image/file 并通过单击 3 点选项编辑访问权限并将其设置为 public。
  • 会生成publicURL

详情见:make data public