Убедитесь, что вы установите пакет
НПМ установки --save multer
Вы можете попробовать следующий способ, В стороне сервера, В ваших маршрутах или файле контроллера настройте multer:
var multer = require('multer');
var storage = multer.diskStorage({
destination: function (req, file, cb) {
cb(null, 'public/images/uploads')
},
filename: function (req, file, cb) {
cb(null, Date.now() + '-' + file.originalname)
}
})
var upload = multer({ storage: storage });
В объекте хранения адресатом является место ожидания, в котором будет загружен файл. Поэтому убедитесь, что в каталоге проекта создан путь/public/images/uploads. В противном случае вы можете изменить путь к файлу.
Также в качестве имени объекта хранения указано, каким будет имя загруженного файла. Здесь я добавляю текущее время с исходным именем файла, чтобы сделать все имя файла уникальным.
Теперь в нужной маршрутизации, предположим
router.post('/', upload.single('image'), (req, res) => {
//here your other task.
});
Теперь ваш файл загружен. Убедитесь, что клиентская сторона использует одно и то же имя. В этом случае «образ».
<input type="file" name="image" id="image" class='form-control'>
Это единая процедура загрузки файлов. Для нескольких файлов
router.post('/', upload.array(), function (req, res, next) {
//your task goes here
});
Для получения дополнительной информации, проверить этот link.
http://lollyrock.com/articles/express4-file-upload/ –
любая конкретная ошибка? –