NodeJS:将文件与其他数据一起上传到另一台服务器

时间:2017-07-07 10:52:25

标签: node.js filestream eventbrite

我正在尝试将一些数据发送到另一台服务器。这也包括一个文件。我是这样做的:

var fs = require("fs");
var request8 = require("request");    
var _value = fs.createReadStream(_completefilePath);//File that needs to be sent.

var options = {
    method: 'POST',
    url: _uploadURL,
    headers: {
        'content-type': 'multipart/form-data'
    }, 
    formData: {
        fileName: {
            value: _value,
            options: { filename: _fileName, contentType: null }
        },
        data: JSON.stringify(_data)//_data is a JSON object
    }
};

request8(options, function (error, response, body) {
    if (!error && response.statusCode == 200)
        return 1
    else
        return 0;
});

我已经尝试了很多次,但我得到的错误是“ECONNRESET”。我不知道上面的请求有什么问题?它没有正确形成或第三方服务器上有任何问题吗?

基本上我正在尝试将文件上传到Eventbrite服务器。 Python中的代码在步骤2中给出here,这就是我想在NodeJS中转换的内容。

[更新1]:当我将“formData”更改为“form”时,我获得了statusCode 412(前提条件失败)。

[更新2]:将代码更改为“错误请求”错误。

var options = {
        method: 'POST',
        url: _uploadURL,
        headers: {
            'content-type': 'multipart/form-data',
            'Authorization': 'Bearer ' + _token
        }, 
        formData: JSON.stringify({
            fileName: {
                value: _value,
                options: { filename: _fileName, contentType: null }
            },
            data: _data
        })
    };

0 个答案:

没有答案