将文件从strapi上传到s3工作正常。我正在尝试使用签名的 url 来保护文件:
var params = {Bucket:process.env.AWS_BUCKET, Key: `${path}${file.hash}${file.ext}`, Expires: 3000};
var secretUrl = ''
S3.getSignedUrl('getObject', params, function (err, url) {
console.log('Signed URL: ' + url);
secretUrl = url
});
S3.upload(
{
Key: `${path}${file.hash}${file.ext}`,
Body: Buffer.from(file.buffer, 'binary'),
//ACL: 'public-read',
ContentType: file.mime,
...customParams,
},
(err, data) => {
if (err) {
return reject(err);
}
// set the bucket file url
//file.url = data.Location;
file.url = secretUrl;
console.log('FIle URL: ' + file.url);
resolve();
}
);
file.url (secretUrl) 包含正确的 URL,我可以在浏览器中使用它来检索文件。但是,无论何时阅读文件形式的strapi 管理面板,都不会显示文件或缩略图。我发现strapi向文件中添加了一个参数,例如?2304.4005,它破坏了AWS的文件获取。我在哪里以及如何改变这种行为
帮助表示赞赏