Javascript Can';在节点js中使用Request或Axios发布文件

Javascript Can';在节点js中使用Request或Axios发布文件,javascript,node.js,npm,request,axios,Javascript,Node.js,Npm,Request,Axios,我必须在前端代码中从表单中获取数据,并使用API调用将数据上载到另一台服务器,这是我目前无法做到的。我尝试了互联网上提到的许多方法和技巧来解决使用Request和Axios在NodeJs中上传文件时遇到的问题,但没有一种方法和技巧适用于这种特殊情况,我不知道为什么 以下是使用Axios时客户端的代码: app.post('/job/addjob', upload.any(), (req, res) => { console.log(req.files[0].path); v

我必须在前端代码中从表单中获取数据,并使用API调用将数据上载到另一台服务器,这是我目前无法做到的。我尝试了互联网上提到的许多方法和技巧来解决使用Request和Axios在NodeJs中上传文件时遇到的问题,但没有一种方法和技巧适用于这种特殊情况,我不知道为什么

以下是使用Axios时客户端的代码:

app.post('/job/addjob', upload.any(), (req, res) => {
    console.log(req.files[0].path);
    var form = new formData();
    form.append('Title', req.body.Title);
    // form.append('Services', JSON.stringify(req.body.Services));
    form.append('Startdate', req.body.Startdate);
    form.append('NoOfPositions', req.body.NoOfPositions);
    form.append('EndDate', req.body.EndDate);
    form.append('Experience', req.body.Experience);
    form.append('Rate', req.body.Rate);
    form.append('Location', req.body.Location);
    form.append('Description', req.body.Description);
    // form.append('Questions', JSON.stringify(req.body.Questions));
    form.append('Dresscode', fs.createReadStream(req.files[0].path));
    axios({
        method: 'post',
        url: 'http://13.127.239.92:3000/job/addjob',
        data: form,
        headers: {'Content-Type': 'multipart/form-data', 'Authorization': req.session.verifiedToken}
    }).then(function (response) {
        console.log(response.data);
        res.redirect('/provider');
    })
    .catch(function (err) {
        //handle error
        console.log(err);
        res.redirect('/profile/getProfile');
    });
});
我面临的错误是

Error Uploading Image.
如果我们使用请求,下面是我的客户端中的代码:

app.post('/job/addjob', upload.any(), (req, res) => {
    console.log(req.files);
    var options = {
      'method': 'POST',
      'url': 'http://13.127.239.92:3000/job/addJob',
      'headers': {
        'Content-Type': 'multipart/form-data',
        'Authorization': req.session.verifiedToken
      },
      formData: {
        'Title': req.body.Title,
    // form.append('Services', JSON.stringify(req.body.Services));
        'Startdate': req.body.Startdate,
        'NoOfPositions': req.body.NoOfPositions,
        'EndDate': req.body.EndDate,
        'Experience': req.body.Experience,
        'Rate': req.body.Rate,
        'Location': req.body.Location,
        'Description': req.body.Description,
    // form.append('Questions', JSON.stringify(req.body.Questions));
        'Dresscode1': fs.createReadStream(req.files[0].path),
      }
    };
    
    request(options, function (error, response) {
        if (error) { console.log(error) }
        else {
            console.log(response.data);
            res.redirect('/provider');
        }
    });
});
我面临的错误是:

{ Error: socket hang up
    at createHangUpError (_http_client.js:323:15)
    at Socket.socketOnEnd (_http_client.js:426:23)
    at Socket.emit (events.js:203:15)
    at endReadableNT (_stream_readable.js:1145:12)
    at process._tickCallback (internal/process/next_tick.js:63:19) code: 'ECONNRESET' }
这是服务器端代码的一小部分,可能有助于理解我的问题:

    var storage = multer.diskStorage({
        destination: function (req, file, cb) {
          cb(null, 'dresscodes/')
         
         
        },
        filename: function (req, file, cb) {
            let uuid=v4();
          cb(null, uuid +"."+mime.getExtension(file.mimetype))
          pp= uuid +"."+mime.getExtension(file.mimetype);
        }
      });

      let upload = multer({ storage: storage }).any();
      upload(req,res,function(err) {
        if(err) {
            console.log(err);
            return res.end("Error uploading image.");
        } else{
            var fullUrl = req.protocol + '://' + req.get('host') ;
现在最糟糕的是,我只能更改客户端代码,而不能更改服务器端代码