Thread View: pl.comp.lang.javascript
8 messages
8 total messages
Started by aaaa
Thu, 28 Apr 2011 21:33
Jak wgrywać plik pokazując ProgressBar
Author: aaaa
Date: Thu, 28 Apr 2011 21:33
Date: Thu, 28 Apr 2011 21:33
28 lines
1956 bytes
1956 bytes
Czołem
Jak wgrać plik i jednocześnie pokazać progress bar?
Ale żeby nie było za łatwo:
1) po stronie serwera jest PHP, więc odpadają wynalazki oparte na CGI,
PERLu, ASP...
2) powinno działać na hostingu współdzielonym, czyli odpadają rozszerzenia
do PHP (w tym APC), moduły Apache
3) ma działać w IE8, Firefoksie, Operze i Chrome/Safari
4) bez Flasha i Javy- żeby móc łatwo konfigurować wygląd i zachowanie
używając HTML/CSS/JS. No i nie każdy ma Flasha/Javę (np. różne iPady nie
mają)
Najlepsza możliwość, jaką znam to:
1) wysłać metodą POST 4kB danych do serwera i policzyć upload w KB/s
2) pobrać rozmiar pliku korzystając z File API:
$("#obrazek")[0].files[0].size;
3) policzyć ile upload tego obrazka powinien trwać
Problem: nie da się w IE8 pobrać w ten sposób rozmiaru pliku, zaś metoda:
document.getElementById('obrazek').value;
$('#ukrytyObraz').attr('src',a);
przestała działać (chyba jakaś aktualizacja Windowsa to zepsuła).
Jakieś opcje?
--
A
Re: Jak wgrywać plik pokazując ProgressBar
Author: Tomek Kańka
Date: Thu, 28 Apr 2011 22:25
Date: Thu, 28 Apr 2011 22:25
15 lines
1231 bytes
1231 bytes
aaaa <aaaa@aaaaaaaaaaaaaaaaaaa.com> napisał(a) > Czołem > Jak wgrać plik i jednocześnie pokazać progress bar? > Ale żeby nie było za łatwo: > Tu masz asynchroniczny upload (nie czytałem zbyt dokładnie): http://www.anyexample.com/programming/php/php_ajax_example__asynchronous_file_upload.xml progress bar dorobisz pytając AJAXem ile już się przesłało. -- Tomek
Re: Jak wgrywać plik pokazując ProgressBar
Author: Arson
Date: Fri, 29 Apr 2011 07:08
Date: Fri, 29 Apr 2011 07:08
10 lines
1475 bytes
1475 bytes
W dniu 28.04.2011 23:33, aaaa pisze: > Jakieś opcje? 1. Google -> ajax file upload 2. Ja w sposob z pkt1. wybrałem ten: http://aquantum-demo.appspot.com/file-upload Pozdrawiam, Arson
Re: Jak wgrywać plik pokazując ProgressBar
Author: aaaa
Date: Fri, 29 Apr 2011 15:17
Date: Fri, 29 Apr 2011 15:17
9 lines
1330 bytes
1330 bytes
> 1. Google -> ajax file upload > 2. Ja w sposob z pkt1. wybrałem ten: > http://aquantum-demo.appspot.com/file-upload Widzialem to, ale to nie dziala w IE- tzn. dziala wszystko poza progressbarem. -- A
Re: Jak wgrywać plik pokazując ProgressBar
Author: aaaa
Date: Fri, 29 Apr 2011 15:23
Date: Fri, 29 Apr 2011 15:23
15 lines
1860 bytes
1860 bytes
> Tu masz asynchroniczny upload (nie czytałem zbyt dokładnie): > http://www.anyexample.com/programming/php/php_ajax_example__asynchronous_file_upload.xml > > progress bar dorobisz pytając AJAXem ile już się przesłało. Uzywanie iframe'a do wysylania pliku w tle w stary numer. A progressbara nie zrobie odpytujac AJAXem, bo PHP przy uploadzie zapisuje plik w swoim katalogu tymczasowym, ktorego nie mozna zmienic dla kazdego usera z osobna, tzn. wszystkie uploady wszystkich userow trafiaja do tego samego katalogu i nie ma sposobu, by drugi skrypt stwierdzil gdzie jest aktualnie uploadowany plik dopoki ten plik sie nie wgra w calosci. Czyli progressbara nie zrobie. -- A
Re: Jak wgrywać plik pokazując ProgressBar
Author: Peter May
Date: Fri, 29 Apr 2011 16:11
Date: Fri, 29 Apr 2011 16:11
13 lines
1412 bytes
1412 bytes
W dniu 29-04-2011 17:17, aaaa pisze: >> 1. Google -> ajax file upload >> 2. Ja w sposob z pkt1. wybrałem ten: >> http://aquantum-demo.appspot.com/file-upload > > Widzialem to, ale to nie dziala w IE- tzn. dziala wszystko poza > progressbarem. Bo nie będzie działać nawet w IE9, które nie doczekało się jeszcze implementacji XHR upload. -- Peter
Re: Jak wgrywać plik pokazując ProgressBar
Author: porneL
Date: Fri, 29 Apr 2011 16:50
Date: Fri, 29 Apr 2011 16:50
22 lines
1819 bytes
1819 bytes
On Fri, 29 Apr 2011 16:23:01 +0100, aaaa <aaaa@aaaaaaaaaaaaaaaaaaa.com> wrote: >> Tu masz asynchroniczny upload (nie czytałem zbyt dokładnie): >> http://www.anyexample.com/programming/php/php_ajax_example__asynchronous_file_upload.xml >> >> progress bar dorobisz pytając AJAXem ile już się przesłało. > > Uzywanie iframe'a do wysylania pliku w tle w stary numer. > A progressbara nie zrobie odpytujac AJAXem, bo PHP przy uploadzie > zapisuje plik w swoim katalogu tymczasowym, ktorego nie mozna zmienic > dla kazdego usera z osobna, tzn. wszystkie uploady wszystkich userow > trafiaja do tego samego katalogu i nie ma sposobu, by drugi skrypt > stwierdzil gdzie jest aktualnie uploadowany plik dopoki ten plik sie nie > wgra w calosci. > Czyli progressbara nie zrobie. Zdaje mi się, że rozszerzenie APC ma opcję obserwowania wgrywanych plików (nie testowałem). -- regards, porneL
Re: Jak wgrywać plik pokazując ProgressBar
Author: aaaa
Date: Fri, 29 Apr 2011 16:58
Date: Fri, 29 Apr 2011 16:58
8 lines
1440 bytes
1440 bytes
> Zdaje mi się, że rozszerzenie APC ma opcję obserwowania wgrywanych plików > (nie testowałem). Jak pisalem w pierwszym poscie- nie moge instalowac rozszerzen a APC tam nie ma. -- A
Thread Navigation
This is a paginated view of messages in the thread with full content displayed inline.
Messages are displayed in chronological order, with the original post highlighted in green.
Use pagination controls to navigate through all messages in large threads.
Back to All Threads