Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> Wielkość uploadowanego pliku w JS-ie?
qqrq
post
Post #1





Grupa: Zarejestrowani
Postów: 418
Pomógł: 8
Dołączył: 16.11.2006

Ostrzeżenie: (0%)
-----


Mam pytanko - czy da się sprawdzić wielkość pliku uploadowanego przy pomocy JS? Tzn. mam w formularzu pola jedno typu file, drugie typu hidden. Wybieramy sobie plik do uploadu, submitujemy i w tym momencie chciałbym, żeby rozmiar pliku, który wybrałem został zapisany w hiddenie i poleciał na serwer. Da się tak w JS? (IMG:http://forum.php.pl/style_emoticons/default/guitar.gif)
Go to the top of the page
+Quote Post
RaNdaLLHD
post
Post #2





Grupa: Zarejestrowani
Postów: 44
Pomógł: 0
Dołączył: 21.06.2007

Ostrzeżenie: (0%)
-----


Nie da się. Spróbuj w PHP.
Go to the top of the page
+Quote Post
qqrq
post
Post #3





Grupa: Zarejestrowani
Postów: 418
Pomógł: 8
Dołączył: 16.11.2006

Ostrzeżenie: (0%)
-----


OK, a w jaki sposób jest to robione np. we Flashu, albo w Javie, że działa progress bar przy uploadowaniu plików? Wydaje mi się, że powinien tam być jakiś sposób na poznanie rozmiaru uploadowanego pliku przed wgraniem go na serwer...
Go to the top of the page
+Quote Post
RaNdaLLHD
post
Post #4





Grupa: Zarejestrowani
Postów: 44
Pomógł: 0
Dołączył: 21.06.2007

Ostrzeżenie: (0%)
-----


Nie wiem jak jest w Javie ani we Flashu. Ale PHP można sprawdzić rozmiar uploadowanego pliku po przez $_FILES['userfile']['size'].
Go to the top of the page
+Quote Post
qqrq
post
Post #5





Grupa: Zarejestrowani
Postów: 418
Pomógł: 8
Dołączył: 16.11.2006

Ostrzeżenie: (0%)
-----


Wiem jak to się w PHP-ie robi, ale w PHP można sprawdzić rozmiar uploadowanego pliku PO jego wgraniu na serwer, a ja chcę to zrobić PRZED wgraniem na serwer (po stronie klienta)
Go to the top of the page
+Quote Post
revyag
post
Post #6





Grupa: Przyjaciele php.pl
Postów: 2 258
Pomógł: 16
Dołączył: 21.09.2004
Skąd: Kielce

Ostrzeżenie: (0%)
-----


Nie sprawdzisz tego. Używając js musiałbyś mieć dostęp do lokalnego dysku, więc z przyczyn bezpieczeństwa to rozwiązanie odpada.
Jedyna opcja to aplet javy albo coś z activex zwiazane.
Go to the top of the page
+Quote Post
qqrq
post
Post #7





Grupa: Zarejestrowani
Postów: 418
Pomógł: 8
Dołączył: 16.11.2006

Ostrzeżenie: (0%)
-----


OK, ale podrążę jeszcze trochę... (IMG:http://forum.php.pl/style_emoticons/default/guitar.gif) Mam rozumieć, że aplety, czy kontrolki active-x mają dostęp do dysku klienta (czyli nie są do końca bezpieczne)?
Go to the top of the page
+Quote Post
tsharek
post
Post #8





Grupa: Zarejestrowani
Postów: 300
Pomógł: 1
Dołączył: 22.09.2003
Skąd: Czeladź

Ostrzeżenie: (0%)
-----


tak:) nie są do końca bezpieczne. tak jak z oprogramowaniem - nie instalujesz odrazu trojanów. A przeglądarka musi się zapytać najpierw czy zezwolisz danej kontrolce się zalinstalować.
Go to the top of the page
+Quote Post
qqrq
post
Post #9





Grupa: Zarejestrowani
Postów: 418
Pomógł: 8
Dołączył: 16.11.2006

Ostrzeżenie: (0%)
-----


Spoko, dziękuję, czuję się satysfakcjonująco doinformowany (a jakie to przyjemne...) (IMG:http://forum.php.pl/style_emoticons/default/party.gif)
Go to the top of the page
+Quote Post
zbig
post
Post #10





Grupa: Zarejestrowani
Postów: 144
Pomógł: 30
Dołączył: 5.05.2007
Skąd: Mannheim

Ostrzeżenie: (0%)
-----


Ciekawym rozwiazaniem kontroli uploadu jest flashowa klasa FileReference. W polaczeniu z plikiem php ktory faktycznie tego uploadu dokonuje mozna uzyskac pare niemozliwych do otrzymania w tradycyjnym (tylko phpowym) uploadzie. Po pierwsze mamy kontrole wielkosci uploadowanego pliku juz z poziomu przegladarki. Oznacza to ze nie musimy tego pliku wysylac na serwer zeby dowiedziec sie jaki jest duzy. Po drugie dzieki metodzie browse juz z poziomu przegladarki mozemy okreslic jakiego typu pliki pozwalamy uploadowac. Po trzecie klasa ma metody pozwalajace na zwrocenie informacji o HttpError oraz IOError. No i to co najbardziej efektowne pozwala zbudowac bardzo ladny progress bar bez potrzeby pilowania ajaxem po serwerze. Przy odrobinie wyobrazni mozna tez wyliczyc i pokazac szybkosc uploadu. Uzywajac klasy ExternalInterface mozna na koniec wywolac lokalnie funkcje javy script ktora pokaze np. za pomoca ajaxa zaladowany obrazek w jakims divie. Nawiazujac do pytania qqrq nie mozna zrobic tego jedynie za pomoca js
Go to the top of the page
+Quote Post
iro88
post
Post #11





Grupa: Zarejestrowani
Postów: 47
Pomógł: 3
Dołączył: 13.10.2010
Skąd: Świdnica

Ostrzeżenie: (0%)
-----


Nieco odświeżę. Czy coś się zmieniło w tej kwestii? Może doszły jakieś narzędzia, którymi można to rozwiązać? Właśnie zacząłem poszukiwania, jeśli ktoś słyszał jak można rozwiązać ten problem bez użycia Flash'a to bardzo proszę o jakieś wskazówki.
Go to the top of the page
+Quote Post
erix
post
Post #12





Grupa: Moderatorzy
Postów: 15 467
Pomógł: 1451
Dołączył: 25.04.2005
Skąd: Szczebrzeszyn/Rzeszów




Nieco. (IMG:style_emoticons/default/wink.gif)

https://developer.mozilla.org/en/using_file...eb_applications

Ale musisz nadal pamiętać o przeglądarkach, które tego nie obsługują.
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 7.10.2025 - 16:30