S3直传时签名URL过期了怎么办?
我用预签名URL上传文件到S3,但用户上传大文件时经常提示“SignatureDoesNotMatch”或403错误,估计是URL过期了。试过把过期时间设成1小时,但还是不够用。
有没有办法在前端检测URL是否快过期,或者动态续期?现在用的逻辑是后端生成一次URL就直接给前端用了:
const uploadFile = async (file) => {
const presignedUrl = await fetchPresignedUrl(); // 后端返回的URL
await fetch(presignedUrl, { method: 'PUT', body: file });
};
暂无解答