0
我正在创建一个脚本,每秒向请求摄像机网络的本地服务器发出一次请求2次,并且在获得相机检测到某人的肯定响应后,我要记录三次图片。使用Node.js成功发出http请求后的日志图像
在JSON配置文件我有triggerURL服务器中,间隔端口,该DATADIR其中记录的图像应该被保存和轨道数组,它包含这些图像的URL和他们应该收到的fileName。
这是脚本的代码,我读了JSON文件后使用:
var configGet = {
host: config.triggerURL
, port: config.interval
, method: 'GET'
};
setInterval(function() {
var request = http.request(configGet, function (response) {
var content = "";
// Handle data chunks
response.on('data', function (chunk) {
content += chunk;
});
// Once we're done streaming the response, parse it as json.
response.on('end', function() {
var data = JSON.parse(response);
if (data.track.length > 0) {
//log images
var download = function (uri, filename, callback) {
request.head(uri, function (err, res, body) {
request(uri)
.pipe(fs.createWriteStream(filename))
.on('close', callback);
});
};
for (var image in data.track) {
var path = config.dataDir + '/' + image.fileName
download(image.url, path.format(config.timestamp), function() {
console.log('done');
});
}
}
});
// Report errors
request.on('error', function (error) {
console.log("Error while calling endpoint.", error);
});
request.end();
}, 500);
});
我有以下问题:
这种方法产生了某种错误与下载过程你可以识别它吗?
有没有更好的方法来做这个过程?