Używając Flash i JavaScript zrobiłem upload z paskiem postępu.
Flash wywołuje funkcję progress(bytesLoaded, bytesTotal) w javascript a później są obliczane procenty wgrania pliku i pokazuje się pasek postępu.
To działa bardzo ładnie ale chciałbym jeszcze na podstawie tego obliczyć prędkość wgrywania pliku. Niby nic trudnego ale funkcja progress() jest wywoływana kilka razy na sekundę :/ Czy miałby ktoś pomysł jak coś takiego wykonać? Próbowałem tak ale to nie bardzo działa:
var old_second = 0; var seconds = 0; var old_bytes = 0; function progress(bytesLoaded, bytesTotal) { sec = new Date().getSeconds(); if(old_second != sec) { seconds += sec; old_second = sec; } speed = old_bytes/old_second; old_bytes = bytesLoaded-old_bytes; document.getElementById('time').innerHTML = speed; }