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

时间:2016-02-16 23:14:21

标签: google-api google-cloud-storage

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

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

有人可以告诉我如何创建正确的网址来查看图片吗?

4 个答案:

答案 0 :(得分:6)

如果对象是公开可读的,您可以直接在" https://storage.googleapis.com/BUCKET_NAME/OBJECT_NAME"上查看,在您的情况下为https://storage.googleapis.com/image-downloader-bucket/a06266f6-6082-468e-92ca-f918a48533a8

答案 1 :(得分:4)

我的问题是我没有设置对象的模仿类型。没有它,浏览器就不知道它是图像,因此它正在下载文件而不是在浏览器窗口中显示

添加了这个技巧:

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

答案 2 :(得分:0)

是的!实际上,您通过Images API调整了存储在Google云端存储中的文件图像。看看这个链接:

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

答案 3 :(得分:0)

类似于@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