Javascript 如何通过节点将文件上载到web服务并将响应另存为文件

Javascript 如何通过节点将文件上载到web服务并将响应另存为文件,javascript,node.js,express,node-request,Javascript,Node.js,Express,Node Request,我一直在Node.js中搜索和测试各种模块/方法,目的是能够将文件上载到我的供应商API,并将响应数据(作为二进制数据发送到图像文件的.png文件)保存到图像文件中。大多数示例演示了如何将文件上载到Web目录,而不是Web服务。这是一个很容易存储在Web目录中的示例,但我不知道如何将表单数据简单地发布到Web服务 我已经研究过使用request发布文件,但对于在表单示例中放置什么内容感到困惑,具体如下: // Pass a simple key-value pair my_field: 'my_

我一直在Node.js中搜索和测试各种模块/方法,目的是能够将文件上载到我的供应商API,并将响应数据(作为二进制数据发送到图像文件的.png文件)保存到图像文件中。大多数示例演示了如何将文件上载到Web目录,而不是Web服务。这是一个很容易存储在Web目录中的示例,但我不知道如何将表单数据简单地发布到Web服务

我已经研究过使用request发布文件,但对于在表单示例中放置什么内容感到困惑,具体如下:

// Pass a simple key-value pair
my_field: 'my_value',
我当前的尝试是混合使用强大和请求,但失败了,出现以下错误:

TypeError:无法读取null的属性“hasOwnProperty”

我的HTML表单如下所示:

<form action="/upload4" method="post" enctype="multipart/form-data">
<input type="file" name="myfile" />
<input type="submit" value="Upload" />
</form>

现在,我很高兴能够使用Node发布我的文件,最终目标是能够将png文件的响应保存到Azure

退房。它的主要用途是上传文件,由维护express的人维护。谢谢您的参考。如果数据是req.file而不是req.body.file,我是否也没有正确地将数据传递到注释中
app.post('/upload4', function (req, res) {
    var form = new formidable.IncomingForm();
    form.parse(req, function (err, fields, files) {
        var options = {
            contentType: files.myfile.type,
            metadata: { fileName: files.myfile.name }
        };
        request.post({ url: 'http://myendpoint.net/uploadPDF', formData: form }, function optionalCallback(err, httpResponse, body) {
            if (err) {
                return console.error('upload failed:', err);
            }
            console.log('Upload successful!  Server responded with:', body);
            var options = { contentType: 'image/png' };
            blobSvc.createBlockBlobFromText(containerName, 'Reponse.png', body, options, function (error, result, response) {
        if (!error) {
            // Response from POST was uploaded to Azure as a PNG file
            res.send(result);
        } else {
            console.log(error);
        }
    });
        });
    console.log(req);
});