【问题标题】:Google Cloud Storage makes browser download image谷歌云存储制作浏览器下载图片
【发布时间】:2015-04-30 06:39:56
【问题描述】:

将文件上传到公开可读的 GCS 存储桶后,当我直接访问文件 (http://storage.googleapis.com//image.png) 时,浏览器 (Chrome) 会下载文件,而不是显示文件。

在 Inspector 中,我可以看到它以二进制/八位字节流的内容类型提供服务。

在检索时如何确保文件具有正确的内容类型?

【问题讨论】:

  • 您使用的是哪个 API 客户端?您需要在对象上设置Content-Type 元数据。
  • 我通过 PHP 函数 imagepng 将文件推送到“gs:///image.png”来上传文件。反正我看不到要专门设置内容类型?
  • 虽然不推荐,但您可以在创建图像之前调用 stream_context_set_default() 更改内容类型,然后再恢复它。

标签: php google-app-engine google-cloud-storage


【解决方案1】:

使用GCS PHP Filesystem Library时,可以通过file options参数设置上传对象的Content-Type。有an example of it in the documentation

$options = ['gs' => ['Content-Type' => 'text/plain']];
$ctx = stream_context_create($options);
file_put_contents('gs://my_bucket/hello.txt', 'Hello', 0, $ctx);

【讨论】:

  • 虽然我没有使用 file_put_contents
  • 我正在使用“imagepng”功能
猜你喜欢
  • 2016-05-24
  • 2021-05-06
  • 2014-04-24
  • 1970-01-01
  • 2013-07-08
  • 2015-04-16
  • 2013-03-17
  • 2023-03-26
  • 2012-01-31
相关资源
最近更新 更多