Prikaz progresa u procentima kod upload preko AJAX

Prikaz progresa u procentima kod upload preko AJAX

offline
  • Web Designer, PHP Developer; HTML, CSS, SQL, jQuery Programmer
  • Pridružio: 13 Jun 2010
  • Poruke: 307
  • Gde živiš: Subotica

POšdrav svima, imam jednu funkciju za upload preko AJAX i jQuery koju sam napravio ali imam problem da prikažem procentualno koliko je vremena ostalo da se fajl preuzme. Da li neko zna kako se to radi?

Moja skripta:
$(function(){          $("#load").load("components/dashboard/options/documents/list.php");           $("#save-click").click(function(){          $("#error").html("<span style=\"color:blue\">Upload may take a while, please be patient and do not close the window.</span><br><div style=\"height:20px; width:50px; background:url(images/imagesfancybox_loading.gif) no-repeat center center;\"></div>");          var formObj = $("#new");          var formURL = formObj.attr("action");          var formData = $("#new")[0];          var formData = new FormData(formData);          $.ajax({             url: formURL,             type: "POST",             data: formData,             mimeType: "multipart/form-data",             contentType: false,             cache: false,             processData: false,             statusCode:{                404: function(){$("#error").html("ERROR 404 - File for checking login data not found.");},                401: function(){$("#error").html("ERROR 401 - You don\'t have permission to access to this option.");},                408: function(){$("#error").html("ERROR 408 - Request timeout.");},                500: function(){$("#error").html("ERROR 500 - Internal server error.");}             },             success: function(data, textStatus, jqXHR)             {                if($.trim(data)==="true")                {                   $("#title").val("");                   $("#file").val("");                   $("#error").html("");                   $("#load").html("<div style=\"height:20px; width:50px; background:url(images/imagesfancybox_loading.gif) no-repeat center center;\"></div>");                   $("#load").delay(300).load("components/dashboard/options/documents/list.php");                }                else                {                   $("#error").html("<p style=\"color:#f00\">" + data + "</p>");                }             },             error: function(jqXHR, textStatus, errorThrown){                $("#error").html("<p style=\"color:#f00\">" + errorThrown + "</p>");             }          });       });    });
Još učim jQuery ali ovo je neko moje rešenje koje perfektno radi, samo korisnici nikada neznaju koliko vremena im je ostalo kada postavljaju fajlove veće od 10MB a nekada se aplouduje i preko 200MB.

Hvala!



Registruj se da bi učestvovao u diskusiji. Registrovanim korisnicima se NE prikazuju reklame unutar poruka.
offline
  • C# and PHP Developer
  • Pridružio: 16 Feb 2011
  • Poruke: 1630
  • Gde živiš: Pancevo

Ja sam to davno ali bas davno radio. Koliko se secam uzmes informacije o velicini fajla i sve u postfiksnoj formi inkrementiras kroz while sa obicnom time classom iz JS.

var uploadedSoFar = uploadSpeed * (Date.now() - timeStarted.milliseconds) / 1000; var timeRemaining = ((fileSize - uploadedSoFar) / uploadSpeed) + ' seconds';

Evo i nekog gotovog resenja:

[Link mogu videti samo ulogovani korisnici]
[Link mogu videti samo ulogovani korisnici]



offline
  • Web Designer, PHP Developer; HTML, CSS, SQL, jQuery Programmer
  • Pridružio: 13 Jun 2010
  • Poruke: 307
  • Gde živiš: Subotica

Ovo je zanimljivo ali ne razumem kako da implementiram u svoj jQueri. Kako da indentifikujem moju formu koju pratim i div gde želim da upišem?

offline
  • C# and PHP Developer
  • Pridružio: 16 Feb 2011
  • Poruke: 1630
  • Gde živiš: Pancevo

Pa ti u JQ mozes da pozivas JavaScript bez problema. Za identifikaciju koristi selektore iz JQ

offline
  • Web Designer, PHP Developer; HTML, CSS, SQL, jQuery Programmer
  • Pridružio: 13 Jun 2010
  • Poruke: 307
  • Gde živiš: Subotica

Mislim da razumem, JS pogleda veličinu fajla, brzinu internet konekcije i napravi prekalkulaciju koju sa loop odbrojava i prikazuje u procentima?

Ko je trenutno na forumu
 

Ukupno su 2758 korisnika na forumu :: 78 registrovanih, 10 sakrivenih i 2670 gosta   ::   [ Administrator ] [ Supermoderator ] [ Moderator ] :: Detaljnije

Najviše korisnika na forumu ikad bilo je 20624 - dana 04 Apr 2026 04:18

Korisnici koji su trenutno na forumu:
Korisnici trenutno na forumu: 357magnum, AK - 230, aleksandar89, ALEXV, Bane san, blue, bobor, brufen, Bubimir, bufanje, CHARLIE JA., Clouseau, cole77, Comyymoc, dankisha, Dare, Demi87, DJUNTA, DonRumataEstorski, draganl, ekser222, h8propaganda, Hitri, HogarStrashni, Homislav, Insan, IQ116, Jester, Još malo pa deda, Komder, Lazur_01, lcc, LjubisaR, ljubo70, lord sir giga, M74AB3, mat, Mercury, Metanoja, mishkooo, MrNo, museum, nnnnnnnnnn, nsharambasa, OgnjenMitric, Pilence, precan, procesor, Promising0, RajkoB, raketaš, Romibrat, S-G, SamoGledam, sekula80, Semberija, Sevetar, Sirius, spalev, Spinosa, SympathyForTheDevil, Szigetwar, Tihi86, Troja, umpah-pah, v82, vathra, vazduh, Veless, Vica1958, Vlajman1957, volimpivuvolimrakiju, Vrač, x78186, yiyi, zokizemun, |_MeD_|, 800077