[英]Log images after successful http request using Node.js
我正在創建一個腳本,該腳本將每秒向攝影機網絡的本地服務器發出2次請求,並且在收到肯定響應后,攝影機檢測到我要記錄三張圖像的請求。
在json配置文件中,我具有服務器的triggerURL , 間隔端口,應在其中保存記錄的圖像的dataDir和一個包含這些圖像的url和應接收的文件名的track數組。
這是我在讀取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);
});
我有以下問題:
這種方法會在圖像的下載過程中產生某種錯誤,可以識別嗎?
有沒有更好的方法來執行此過程?
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.