【问题标题】:Node js Form-data as middlewareNode js Form-data 作为中间件
【发布时间】:2018-06-06 16:36:07
【问题描述】:

我正在使用 express nodejs 服务器作为我的应用程序的中间件,从前端(react)我正在构建表单数据并到达 nodeJS。

在 Node JS 中,我使用 multer 来解析表单数据,但我需要使用构建的表单数据从节点 JS 向我的外部服务器发出发布请求。

我尝试传递 multer 对象并在我的 nodeJS 中创建表单数据。

我的 Node JS 代码如下:

 const multer = require('multer');
const upload = multer();

app.post('/api/sendFilesToServer',upload.fields([]), function (req, res) { 
const payload = req.body; 

console.log("files", payload.files[0]); 
console.log("metadata", payload.metadata); 

let formdata = new FormData(); 

//formdata.append("metadata",payload.metadata) 
formdata.append("metadata",'{"operationType":"Bulk","supportingDocuments":{"documents":[{"type":"photo","document":"Screenshot (1).png"}]}}')

formdata.append("files",payload.files[0]) 

axios({ 
method: 'POST', 
data: formdata,
url: `${url}/uploadFiles`, 
headers: headersPayload 
}).then(function (response) { 
console.log("Reponse form",req.body) 
console.log("RESPONSE") 
res.status(response.status).send(response.data); 
}).catch(function (error) { 
console.log("Reponse form ERROR",req.body) 
console.log("ERROR",error.response.data.message) 
res.status(error.response.status).send(error.response.data.message) 
});

我尝试了所有方法并尝试搜索stackoverflow中的所有帖子,但仍然不知道如何解决这个问题。

感谢您的帮助, 近乎

【问题讨论】:

    标签: javascript node.js multipartform-data multer form-data


    【解决方案1】:

    你尝试过请求吗? https://www.npmjs.com/package/request

    import request from 'request'
    request.post({
    url: `${url}/uploadFiles`, 
    headers: headersPayload,
    form: formdata,
    }, (err, response, body) => {
    
    })
    

    【讨论】:

    • 我已经试过了,还是没有成功。如果我打印 multer req.body,它会显示我需要的文件和确切的结构,如果我只是将该字符串放入请求中,它将不起作用。
    猜你喜欢
    • 2017-02-25
    • 1970-01-01
    • 2015-01-10
    • 1970-01-01
    • 1970-01-01
    • 2018-09-20
    • 1970-01-01
    • 2021-06-28
    • 2017-07-21
    相关资源
    最近更新 更多