Node.js 如何使用请求模块在节点中发送post请求中的文件数据?

Node.js 如何使用请求模块在节点中发送post请求中的文件数据?,node.js,file-upload,Node.js,File Upload,要求: 我需要使用用户上传的文件进行api调用。我的服务器是node,我使用request模块进行api调用。 下面是用户上传并提交文件时的代码 if(queryData.sub == "upload"){ var input = {}; var formidable = require('formidable'); var form = new formidable.IncomingForm(); form.parse(request, function (er

要求

我需要使用用户上传的文件进行api调用。我的服务器是node,我使用request模块进行api调用。 下面是用户上传并提交文件时的代码

if(queryData.sub == "upload"){
    var input = {};
    var formidable = require('formidable');
    var form = new formidable.IncomingForm();
    form.parse(request, function (err, fields, files) {
    var fs = require('fs');
    fs.readFile(files.filetoupload.path, function(err, data) {


    input.x_file_content = data;


    client.API.ATTACHMENTS.uploadFile(input).then(function(resp){

        var str = settings.layoutParsing(resp);
            response.write(str);
            response.end();
    })

    });

    });
}
}
在上传文件功能中,我使用FormData设置文件并在调用api时发送。下面是代码:

if (request.x_file_content) {

            var FormData = require('form-data');
            var formData = new FormData();
            formData.append('file', request.x_file_content);//No I18N
            req_body = formData;

        }

问题:

但该文件未成功发送,api服务器引发了“需要多部分内容”错误

有人能指出我犯了什么错误吗

谢谢

发现了错误

设置收割台并更换

 fs.readFile(files.filetoupload.path, function(err, data) {
使用
readStream=fs.createReadStream(“文件路径”)

纠正代码:

input.x_file_content = readStream;

input.x_file_content = readStream;
var FormData = require('form-data');
            form_Data = new FormData();        
            form_Data.append('file', request.x_file_content);//No I18N           
            req_body = form_Data;            
        api_headers = form_Data.getHeaders();