파일 다운로드시 실시간으로 다운로드 속도를 표시하고 싶지만 다음 코드는 작동하지 않습니다. Speed
은 전체 다운로드에 대해 0.0을 반환합니다.계산 AJAX 다운로드 속도
https.get(options, function (update) {
fileSize = (parseInt(update.headers['content-length'])/1048576).toFixed(1);
startTime = (new Date()).getTime();
endTime = startTime;
update.on('data', function (chunk) {
file.write(chunk);
len += chunk.length;
fileDownloaded = (len/1048576).toFixed(1);
endTime = (new Date()).getTime();
time = (endTime - startTime)/1000;
speed = ((fileSize/time)/(1024 * 1024)).toFixed(2);
progressPercentage.html(fileDownloaded + ' MB/' + fileSize + ' MB ' + speed + ' MB/s');
});
});
변수 좀 더 출력 할 경우, 아마도 당신은 범인을 식별 할 수 있습니다. 문제는 어디서부터 시작됩니까? – 4castle
@ User394839859 - 'update.headers ['content-length ']'가 평가하는 것과 같은 몇 가지 기본 사항을 모르고 원격으로 디버그하기가 어렵습니다. 그러나 @CarlosCarucce는 그의 답변에서 좋은 점을 지적하고 있습니다. 이 적절한 JS를 만들기 위해 ('var'등으로 변수를 선언하여) 몇 가지 조치를 취한 다음 종결에서 변수의 범위를 확인해야합니다. – hightempo