【发布时间】:2019-01-10 01:37:33
【问题描述】:
我想将 Firebase 存储中的默认 content-disposition: attachment HTTP 标头覆盖为 content-disposition: inline,以便从我的存储中提供由浏览器打开的公共图像(如 <a href="..."> 链接)以供查看(未下载)。
重要的默认标题如下:
content-disposition: attachment
content-type: image/jpeg
默认情况下,我认为是由content-disposition: attachment 强制下载的图片,这就是为什么我尝试在 Firebase Admin SDK 上传期间覆盖它:
bucket.upload(photoUrl, {
destination,
public: true,
metadata: {
contentDisposition: 'inline',
},
}).then((data) =>
console.log(data[1].mediaLink),
);
我清除了存储中的所有图像并使用此代码上传新图像,但我仍然收到content-disposition: attachment。也许这是设计使然,也许我的代码是错误的。
图像的 URL 类似于:https://www.googleapis.com/download/storage/v1/b/MY_PROJECT/o/IMAGE_PATH?generation=SOME_NUMBER&alt=media。
如果可能,将content-disposition 覆盖为inline 的正确方法是什么?
相关问题:From firebase storage download file to iframe
更新
在 Chrome devtools 控制台中,我收到警告:“资源解释为文档,但使用 MIME 类型图像/jpeg 传输”。我尝试将 .jpg 扩展附加到上传的图像目的地,但我仍然收到此警告。
【问题讨论】:
标签: node.js firebase firebase-storage firebase-admin