Доброго времени суток!
Помогите вывести в контроллере путь req.files.location объекта upload.any()
routes/app.js
const express = require('express')
const upload = require('../middleware/upload')
const controller = require('../controllers/app')
const router = express.Router()
router.post('/', upload.any(), controller.app)
module.exports = router
middleware/upload.js
const multer = require('multer')
const aws = require('aws-sdk')
const multerS3 = require('multer-s3')
const errorHandler = require('../utils/errorHandler')
const keys = require('../config/keys')
aws.config.update({
secretAccessKey: keys.ACCESS_KEY,
accessKeyId: keys.ACCESS_KEY_ID,
region: keys.REGION
})
const s3 = new aws.S3();
const upload = multer({
storage: multerS3({
s3: s3,
bucket: 'verstesting',
acl: 'public-read',
key: async function (req, file, cb) {
const today = new Date().toISOString().slice(0, 10);
const path = "files.devices/" + req.body.id + "/" + today + "/" + file.originalname + ".jpg";
cb(null, path);
console.log('UPLOAD')
}
})
})
module.exports = upload
/controller/app.js
module.exports.app = function(req, res){
console.log(req.files.location) // тут то и не возвращает
}
Что весьма забавно, если вызывать upload.single('image'), то конструкция req.file.location успешно выводит путь, куда сохранилась картинка. Как я понял, что к upload.any() необходимо как-то иначе обращаться и req.files.location не работает.