S3直传时签名URL过期了怎么办?

FSD-绍桐 阅读 18

我用预签名URL上传文件到S3,但用户上传大文件时经常提示“SignatureDoesNotMatch”或403错误,估计是URL过期了。试过把过期时间设成1小时,但还是不够用。

有没有办法在前端检测URL是否快过期,或者动态续期?现在用的逻辑是后端生成一次URL就直接给前端用了:

const uploadFile = async (file) => {
  const presignedUrl = await fetchPresignedUrl(); // 后端返回的URL
  await fetch(presignedUrl, { method: 'PUT', body: file });
};
我来解答 赞 8 收藏
二维码
手机扫码查看
暂无解答

暂无解答