Загрузка файла multer не работает с окнами узлов

Я пытаюсь загрузить файлы изображений, используя multer, Это мой код:

router.post('/', function (req, res) {
    upload(req, res, function (err) {
    if (err) {
  // An error occurred when uploading
  conole.log(err);
  return;
}

// Everything went fine
var data = Object.assign({picture: req.file && req.file.filename}, req.body);
db.create('devices', data)
.then(function(data){
    res.render('msg', {msg: 'Added device '+ data[0]});
})
.catch(function(err){
    console.log(err);
});

});

});

Тем не менее, когда я пытаюсь запустить сервер из командной строки node app.jsвсе работает как положено. Но когда я запускаю его из службы Windows, используя node-windowsкажется, это не работает, пока я не получаю никаких ошибок. (Имеется в виду, что имя файла изображения фактически записано в базе данных, но файл не загружается. Возможно, это проблема назначения? Если да, я предоставлю свой код назначения:

var storage = multer.diskStorage({
destination: './public/uploads/',
filename: function (req, file, cb) {
  cb(null,  file.originalname + "-" + Date.now() + path.extname(file.originalname));
}
});

1 ответ

Удалите эту строку из своего кода

destination: './public/uploads/',

и добавьте этот код

destination: __dirname+'../../../uploads',

это будет работать как Mac OS и Windows

Другие вопросы по тегам