Javascript 如何使用POST保存从NodeJS发送的文件
我创建了以下函数来加载流文件。此流被发送到POST指定的地址。在目的地,我有另一个使用ExpressJS“捕获”这篇文章的NodeJS服务,但我不知道如何将文件保存到目的地 我的电脑上的NodeJS:Javascript 如何使用POST保存从NodeJS发送的文件,javascript,node.js,fs,requestjs,Javascript,Node.js,Fs,Requestjs,我创建了以下函数来加载流文件。此流被发送到POST指定的地址。在目的地,我有另一个使用ExpressJS“捕获”这篇文章的NodeJS服务,但我不知道如何将文件保存到目的地 我的电脑上的NodeJS: function sendFileToRaspberry(filePath) { var options = { method: 'POST', url: 'http://x.x.x.x:8080/api/print', qs: {file:
function sendFileToRaspberry(filePath) {
var options = {
method: 'POST',
url: 'http://x.x.x.x:8080/api/print',
qs: {file: fs.createReadStream(filePath)},
headers:
{
'cache-control': 'no-cache'
}
};
request(options, function (error, response, body) {
if (error) throw new Error(error);
console.log(body);
});
}
在我的覆盆子上点头:
app.post('/api/print', function (req, res) {
ORIGINAL_IP = req.ip.replace("::ffff:", '');
console.log("Received a print request from: " + ORIGINAL_IP);
// Test history data for /api/printer API
var file = req.query.file;
console.log("Test data: " + file);
util.inspect(file);
});
但在控制台日志中,我得到:
收到来自的打印请求:y.y.y.y
测试数据:[对象]
如何在Rasp上保存此文件?您可以使用expressjs中间件帮助程序,如
ExpressFileUpload
我认为,您已经使用了多部分表单上传
通过http POST上传文件
客户端(您的PC)
function sendFileToRaspberry(filePath) {
var options = {
method: 'POST',
url: 'http://x.x.x.x:8080/api/print',
formData: {
file: fs.createReadStream(filePath)
},
headers: {
'cache-control': 'no-cache'
}
};
request(options, function (error, response, body) {
if (error) throw new Error(error);
console.log(body);
});
}