как вы видите, я использую aws s3, когда пытаюсь сделать прямую загрузку, так как это единственный путь в heroku, поэтому я следовал инструкции здесь Прямая загрузка файла S3 в nodejs
вот как выглядит мой server.js
//Public Folder app.use(express.static('./public'));
// configure aws region aws.config.region = 'eu-west-1';
//load the s3 information const S3_BUCKET = process.env.S3_BUCKET; app.get('/upload-cover', (req, res) => {
const s3 = new aws.S3();
const fileName = req.query['file-name'];
const fileType = req.query['file-type'];
const s3Params = {
Bucket: S3_BUCKET,
Key: fileName,
Expires: 60,
ContentType: fileType,
ACL: 'public-read'
};
s3.getSignedUrl('putObject', s3Params, (err, data) => {
if(err){
return res.end();
}
const returnData = {
signedRequest: data,
url: `https://${S3_BUCKET}.s3.amazonaws.com/${fileName}`
};
res.write(JSON.stringify(returnData));
res.end();
}); });
Я следовал документам и сказал, что приведенный выше код возвращает JSON, содержащий временно подписанный запрос S3 и ожидаемый URL-адрес изображения.Я попытался загрузить изображение 1.jpg, оно вернуло https://bucketlist.s3.amazonaws./1.jpg
, затем я сохранил этот URL в моей базе данных, когда я попытался отобразить изображение, которое не показывалось, затем я попытался вернуть путь no such key
, и изображение не было загружено вмое ведроЯ не знаю следующий шаг после этого, документы помогают мне только до этой стадии