我在Google Cloud Storage中存储了一个.pdf对象,其C ontent-Type = application / octet-stream 。
通过签名的URL给予临时访问权限时,我将URL扩展为:
if 0 <= int(reg[2:3]) < 18:
尽管如此,从Google Cloud Storage返回的响应仍然包含 Content-Type = application / octet-stream
通过浏览器检查请求+响应可确认此行为。
根据文档(https://cloud.google.com/storage/docs/xml-api/reference-headers#responsecontenttype),响应内容类型应确保在我的示例中 Content-Type = application / pdf 。
在另一个用例中,我成功地通过 response-content-disposition 使用了 Content-Disposition 替代,因此我很好奇为什么response-content-类型对我不起作用。
有人知道我要完成这项工作要缺少什么吗?
谢谢!
答案 0 :(得分:0)
根据documentation,签名的URL不是支持内容类型覆盖的经过身份验证的GET请求。
查询字符串签名未验证诸如response-content-disposition和response-content-type之类的参数。要在响应中强制使用Content-Disposition或Content-Type,请使用gsutil或XML / JSON API在对象元数据中设置这些参数。