Как получить req.file из данных формы запроса в узле

У меня есть два апи, я хочу отправить файл из первого апи, используя request и formData.

Как получить req.file из данных формы запроса?

Получить дополнительный код

var storage = multer.diskStorage({
destination: function (req, file, cb) {
    mkdirp(configServer.dataDir+ "/tmp", function(err){
       cb(null, configServer.dataDir+ "/tmp/")
    })
},
filename: function (req, file, cb) {
    cb(null, file.fieldname + '-' + Date.now())
}

})

var upload = multer({ storage: storage }).single('file');

exports.upload_in_server = function (req, res) {

upload(req, res, function (err) {

     console.log("file : ", req.file)
     console.log("body : ", req.body)
     res.json({success: true})


})

}

router.post("/myurl/uploadInServer",  UserController.upload_in_server);

Отправить дополнительный код

  var storage2 = multer.diskStorage({
    destination: function (req, file, cb) {
        mkdirp(config.dataDir+ "/tmp", function(err){
            cb(null, config.dataDir+ "/tmp/")
        })
    },
    filename: function (req, file, cb) {
         cb(null, file.fieldname + '-' + Date.now())
    }
})

var upload2 = multer({ storage: storage2 }).single('file');

exports.user_coffre_fort_create_file2 = function (req, res) {

    upload2(req, res, function (err) {
        var obj = {

            'Nom': "Lagaf",
            'Prénom': "Vincent",
            'Date de naissance': "13/01/1960",
            'file':new Buffer(fs.readFileSync(req.file.path)).toString("base64")
     }

         request({
            url: "/myurl/uploadInServer",
            method: 'POST',
            formData: obj,
            headers: {"Content-Type": "application/x-www-form-urlencoded", "Authorization": token}
         }, function (err, stdout, body) {
           res.json({success:true})
        })
      })
}

Вот что я получаю req.file имеет значение null, и я получил файл в теле

Как получить файл в req.file?

заранее спасибо

  file : undefined

    body :  {
  'Nom: 'Lagaf',
   'Prénom': 'Vincent',
  'Date de naissance': '13/01/1960',
  file:/9j/4gIcSUNDX1BST0ZJTEUAAQEAAAIMbGNtcwIQAABtbnRyUkdCIFhZWiAH3AABABkAA

person user2285831    schedule 09.01.2019    source источник


Ответы (1)


Вам необходимо использовать multipart/form-data в качестве типа контента для загрузки файлов и функции формы из модуля requests. Взгляните на этот ответ.

person mugiseyebrows    schedule 09.01.2019
comment
то же самое с: multipart/form-data, req.file не определен - person user2285831; 10.01.2019