Как загрузить и переименовать файл с помощью Multer в среде NodeJs - PullRequest
0 голосов
/ 25 марта 2019

Я пытаюсь загрузить несколько файлов, используя Multer в среде NodeJs:

const storage = multer.diskStorage({
  destination: function (req, file, cb) {
    cb(null, 'my_uploads/')
  },
  filename: function (req, file, cb) {
    cb(null, req.body.original_name)
  }
})

const upload = multer({
  storage: storage
})

app.post('/file_upload', upload.any(), function (req, res, next) {
  console.log('>>> \n\t' + JSON.stringify(req.files))
  res.json({
    success: true,
    message: 'Photo was updated !'
  })
})

У меня есть несколько составных данных, которые отправляются вместе с файлами на сервер:

console.log('>>> \n\t' + JSON.stringify(req.files))  

выводит данные из нескольких частей:

[
   {
      "fieldname": "/storage/emulated/0/DCIM/.thumbnails/1535630435399.jpg",
      "originalname": "jpeg",
      "encoding": "binary",
      "mimetype": "application/octet-stream",
      "destination": "my_uploads/",
      "original_name": "1533906137379-d2019-03-25-13-16-26-g15.jpg",
      "path": "my_uploads/1533906137379-d2019-03-25-13-16-26-g15.jpg",
      "size": 29955
   },
   {
      "fieldname": "/storage/emulated/0/DCIM/.thumbnails/1535630444275.jpg",
      "originalname": "jpeg",
      "encoding": "binary",
      "mimetype": "application/octet-stream",
      "destination": "my_uploads/",
      "original_name": "1533906137379-d2019-03-25-13-16-26-g15.jpg",
      "path": "my_uploads/1533906137379-d2019-03-25-13-16-26-g15.jpg",
      "size": 48901
   }
]  

Как вы можете видеть по адресу:

cb(null, req.body.original_name)  

Я пытаюсь переименовать файл в original_name включено в составные данные, отправленные.

Как я могу успешно выполнить это?

Спасибо всем заранее.

...