如何使用node.js将文件从一个服务器传输到另一个服务器

gen*_*ast 5 file-transfer node.js

如果在别处问过这个问题我很抱歉,但我找不到合适的解决方案来解决这个棘手的问题,所以这就是我的情况.

我有一个node.js脚本,它从头开始创建一个excel文档,一切都按预期工作.但是,我在将这个新创建的文件保存到运行ColdFusion的另一个远程服务器时遇到了问题(不确定这是否重要,但我想我至少会提到它).

以下代码从node.js生成请求,但coldfusion一直告诉我没有要解析的文件.我错过了什么基本的东西?

Node.js的

var excel_hook = "http://localhost/models/post_hooks/excel.cfc?method=getReportDataAjax";

var data = {
    excelFile: {
        // Hard Coding this to see why the post is NOT picking up the file
        file: "temp/check_history_test.xlsx",// + file_name,
        content_type: "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet"
    }
};

    var requestOptions = {
    host: "http://localhost",
    path: "/excel.cfc?method=getReportDataAjax",
    method: "POST"
};
var request = http.request(requestOptions, function(res){
    res.setEncoding('utf8');
    res.on('data', function(chunk){
        console.log(chunk);
    });
    res.on('end', function(err, body){
        callback(err, body);
    });
});
request.on("error", function(err){
    console.error("Request Failed:" + err);
});
--

var fileStream = fs.createReadStream("temp/" + file_name);
fileStream.on('data', function(data){
    console.log("File Data:");
    console.log(data);
    request.write(data);
});

fileStream.on('error', function(err){
    console.error("File Error:", err);
    throw err;
});

fileStream.on('end', function(){
    request.end();
});
Run Code Online (Sandbox Code Playgroud)

ColdFusion的

component extends="models.models"{

/**
Main remote method called by the javascript controller
*/
remote function getReportDataAjax() returnFormat="JSON"{

    var reportData = uploadExcel(form.excelFile);

    reportData = SerializeJSON(reportData);

    return reportData;
}//end



/**
Returns struct containing all data - called by the remote method above
*/
public function uploadExcel(required excelFile)
{


    var returnObj = fileUpload("temp", excelFile, "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet");
    return {
        "bSuccess": true
    };
}

}//end component
Run Code Online (Sandbox Code Playgroud)