2014-01-16 2 views
0

내 있음 jQuery 파일 업 로더 다음과 같은 변수를 사용할 수 있습니다 : uploadedBytes, totalBytestimeStarted.업로드 할 때 남은 시간은 어떻게 계산합니까?

이러한 변수를 사용하여 업로드 할 때 남은 시간을 어떻게 계산합니까? 비슷한 질문이 있는데 그 변수는 uploadSpeed입니다.

이러한 변수에서 uploadSpeed을 추론 할 수 있습니까? 아니면 세 변수 만 사용하여 남은 시간을 계산할 수 있습니까?

+0

음 .. 업로드하는 데 걸리는 시간은 속도에 따라 다르기 때문에 필요합니다. 당신은 당신이 가진 변수로부터 그것을 계산할 수 없습니다. – putvande

+0

네트워크 속도에 따라 다릅니다. "2MB 줄 *"에 기초한 "* x 분"이라는 메시지를 말한 경우 – MackieeE

+0

입력하면 평균 업로드 속도를 사용하여 근사치를 제공 할 수 있습니다. –

답변

2

업로드 중에 채널이 uploadedBytes 인 것으로 가정합니다.

-> 업로드 시작을 알면이 스크립트를 호출하십시오.

var timecontroller = setInterval(function(){ 
    timeElapsed = (new Date()) - timeStarted; //assumng that timeStarted is a Data Object 
    uploadSpeed = uploadedBytes/(timeElapsed/1000); //upload speed in second 
    callback((totalBytes - uploadedBytes)/uploadSpeed); //callback is the funciont that show the time to usder the only argoment is the second remaining to the end 
},1000) 

-> 파일이 완전히 명확 간격 timecontroller 업로드 할 때 :

clearInterval(timecontroller) 

에주의 : timeStarted는 데이터 개체이어야합니다.

말해 주면. @Stefano Sanfilippo에 thx - 나는 그의 대본을 사용합니다.

+0

그것을 조금 재 배열했다하지만 공장. 고마워요! – timo

+1

당신은 짝을 돌! :) 도와 줘서 기뻐요! - 어쩌면 당신은 당신의 변화를 추가 할 수 있습니다 :) 만약 어떤 사람들이이 퀘스트를 발견하고 대답을 원한다면. – Frogmouth

+0

"주의 : timeStarted는 데이터 객체 여야합니다."Date 객체입니까? – werqious

관련 문제