AWS лямбда с multer-3S загружает неподдерживаемый файл изображения. но локальный сервер загружается правильно - PullRequest
0 голосов
/ 13 сентября 2018

Я попытался загрузить изображение в 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'
  })
});
...