Req.files всегда пуст в приложении Express с использованием Multer - PullRequest
0 голосов
/ 26 декабря 2018

Я использую multer в качестве промежуточного программного обеспечения для моего express app для загрузки файлов на сервер, но, похоже, он не работает должным образом, каждый почтовый запрос, который я отправляю как почтальону, так и curl, содержит пустой массив файлов.

Я уже установил заголовки 'Content-Type': 'multipart/form-data' когда я отправляю запрос

app.js

строк:12-43

const app = express();
const fileStorage = multer.diskStorage({
  destination: (req, file, cb) => {
    cb(null, 'images/');
  },
  Skipfilename: (req, file, cb) => {
    cb(null, new Date().toISOString() + '-' + file.originalname);
  }
});

const fileFilter = (req, file, cb) => {
  if (
   file.mimetype === 'audio/mp3' ||
   file.mimetype === 'image/aug' ||
   file.mimetype === 'image/jpg'
   ) {
    cb(null, true);
  }else {
   cb(null, false);
  }
  };

 app.use(bodyParser.urlencoded()); // x-www-form-urlencoded <form>
 app.use(bodyParser.json()); // application/json

 app.use(
  multer({ storage: fileStorage, fileFilter: fileFilter }).any()
 );

 app.use('/images', express.static(path.join(__dirname, 'images')));

маршруты / admin.js

строк: 5-12

const router = express.Router();
router.post('/upload',adminController.upload);
module.exports = router;

контроллеры / админ.js

exports.upload = (req, res, next) => {  
const files= req.files
console.log(req)
res.status(200).json({ files:files});
}

ОБНОВЛЕНИЕ Снимки экрана запроса почтальона

Заголовки запроса

Тело запроса

1 Ответ

0 голосов
/ 26 декабря 2018

Он начал работать после того, как я изменил mimetype mp3 на правильный mimetype audio / mpeg. Но это не компактное решение

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