问题描述
我正在使用S3存储桶来存储我的应用程序的图像。第一次将图像上传到图像时,我将生成以下格式的签名URL:
https://app-images.s3.amazonaws.com/test/-26403.blob?AWSAccessKeyId=<key>&Expires=<timestamp>&Signature=<signature>
请注意,上述URL中没有区域代码。由于URL的到期时间为7天,因此我将在到期前重新生成已签名的URL。这次,URL模式如下所示。
https://app-images.s3.eu-west-1.amazonaws.com/test/-26403.blob?AWSAccessKeyId=<key>&Expires=<timestamp>&Signature=<signature>
请注意,上述URL中包含区域代码。 当我尝试在浏览器上呈现这些图像时,使用此URL会产生CORB问题。但是,当我从URL上方删除区域代码并在浏览器中呈现它时,它就起作用了。
const getFileUrl = async (payload) => {
let params = {
Bucket: s3BucketName,Key: `${payload.folderName}/${payload.fileName}`,Expires: 7 * 24 * 60 * 60,};
try {
const url = await s3.getSignedUrl('getobject',params);
return { url,fileName: payload.fileName };
} catch (e) {
return Boom.badRequest(e.message);
}
};
我担心的是,我不想URL不一致。两次,URL模式应该相同并且应该在浏览器中正确呈现。
有人可以帮助我实现这一目标吗?
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)