Я пытаюсь загрузить файл на свой 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"
}
]
}
Кто-нибудь может мне помочь, в чем проблема? спасибо!