Я попытался загрузить изображение в AWS S3.В моей локальной среде (тот же код, что и в производственной среде), загрузка изображения успешно выполняется на S3, и я могу загрузить это изображение.
Но через лямбда-среду хорошо загрузить на S3, но это изображение не может загрузить.это изображение даже имеет больший размер, чем изображение, загружаемое через локальный сервер.
Я использую один и тот же IAM для обеих сред.вот неприкасаемый URL-адрес изображения (лямбда-изображение загружено)
невозможно загрузить URL-адрес изображения
, и это URL-адрес прикосновения
можетbe download image url
, пожалуйста, помогите мне.
ps, моя политика s3 здесь
{
"Version": "2012-10-17",
"Id": "Policy1536755128154",
"Statement": [
{
"Sid": "Stmt1536755126539",
"Effect": "Allow",
"Principal": "*",
"Action": "s3:*",
"Resource": "arn:aws:s3:::elebooks-image/*"
},
{
"Sid": "Stmt1536827281212",
"Effect": "Allow",
"Principal": "*",
"Action": "s3:*",
"Resource": "arn:aws:s3:::elebooks-image"
}
]
}
код моего сервера
export const bookCoverUploader = multer({
storage: multerS3({
s3: s3,
bucket: bookCoverBucket,
key: function (req, file, cb) {
let extension = path.extname(file.originalname);
cb(
null,
path.basename(file.originalname, extension) + Date.now().toString() + extension
);
},
acl: 'public-read-write'
})
});