amazon s3 загрузить, получить неожиданное поле - PullRequest
0 голосов
/ 05 мая 2020

Я пытаюсь загрузить файл на свой amazon s3, но теперь получаю ошибку. У меня есть форма, в которой пользователю предлагается загрузить изображение профиля. и мой план состоял в том, чтобы загрузить изображение на amazon s3.

aws.config.update({
  secretAccessKey: "xxxxxxxxx",
  accessKeyId: "xxxxxxxxx",
  region: 'xxxx'
});

const s3 = new aws.S3();

const fileFilter = (req, file, cb) => {
  if (file.mimetype === 'image/jpeg' || file.mimetype === 'image/png') {
      cb(null, true)
  } else {
      cb(new Error('Invalid Mime Type, only JPEG and PNG'), false);
  }
}

const upload = multer({
  fileFilter,
  storage: multerS3({
    s3,
    bucket: 'user-image2',
    acl: 'public-read',
    metadata: function (req, file, cb) {
      cb(null, {fieldName: 'TESTING_META_DATA!'});
    },
    key: function (req, file, cb) {
      cb(null, Date.now().toString())
    }
  })
})



const singleUpload = upload.single('image');

router.post('/edit/:id', function(req, res) {

  singleUpload(req, res, function(err) {

    if (err) {
      return res.status(422).send({errors: [{title: 'File Upload Error', detail: err.message}] });
    }

    return res.json({'imageUrl': req.file.location});
  });
});

и в моем e js у меня есть простая форма

<form action="/edit/<%= user.id%>" method="POST">
    <div class="upload-btn-img">

        <input type="file" name="image" onchange="showThumbnail(this)" />

    </div>
    <button type="submit">submit</button>
</form>

Когда я пытаюсь отправить запрос на почту с помощью почтальона , я получаю это

{
    "errors": [
        {
            "title": "File Upload Error",
            "detail": "Unexpected field"
        }
    ]
}

Кто-нибудь может мне помочь, в чем проблема? спасибо!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...