Я пытаюсь загрузить файл из NodeJS в мою корзину S3. Следующий код работает нормально.
. / Маршруты / уроки. js
const upload = require('../models/model.lessons');
router.post('/upload9', upload.array('file', 1), (req, res) => {
console.log('Uploaded');
res.send({image: req.file});
});
. / Models / model.lessons. js
const upload = multer({
storage: multerS3({
acl: 'public-read',
s3,
bucket: config.get('AWS.bucket_audios'),
key: function (req, file, cb) {
req.file = Date.now() + file.originalname;
cb(null, Date.now() + file.originalname);
}
})
})
Моя проблема в том, что я хочу сделать дополнительные действия до и после загрузки. Когда я пытаюсь переместить массив upload.array в код model.lessons. js, я получаю сообщение об ошибке. Что я делаю неправильно ?
. / Маршруты / уроки. js
router.post('/upload', async function (req, res, next) {
try {
let result = await Lessons.upload2(req, res);
console.log('uploaded');
await res.send(result);
} catch (err) {
console.log(err);
res.status(400).json(err);
}
});
. / Models / model.lessons. js
upload2: async function (req, res) {
// some code
var result = await multer({
storage: multerS3({
acl: 'public-read',
s3,
bucket: config.get('AWS.bucket_audios'),
key: function (req, file, cb) {
req.file = Date.now() + file.originalname;
cb(null, Date.now() + file.originalname);
}
})
}).array('file', 1);
// some code
return true;
},