Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Walidacja <input type="file" ... >
Forum PHP.pl > Forum > Po stronie przeglądarki
webd.jk
Witam, napotkałem pewien problem, Google nie wiele mnie wsparło w tym temacie. Może ktoś z Was z tym się spotkał. Mianowicie. Chciałbym zwalidować rozmiar obrazka przed wysłaniem formularza no i nie bardzo wiem jak to ugryźć.

Problem pojawia się wtedy kiedy użytkownik wrzuca olbrzymi plik, za nim on wgra się na serwer i zostanie zwalidowany to trwa wieki.

Dzięki.
Crozin
1. JS File API powinno umożliwić Ci sprawdzenie rozmiaru przez JS.
2. Dodanie ukrytego pola MAX_FILE_SIZE by serwer mógł w miarę szybko rozpoznać, że wysyłany plik będzie za duży.
webd.jk
MAX_FIILE_SIZE? To różni się czymś od np. stałej z jakaś tam ustaloną zawartością?
erix
Cytat
2. Dodanie ukrytego pola MAX_FILE_SIZE by serwer mógł w miarę szybko rozpoznać

A to nie było przypadkiem dla przeglądarki? Sęk w tym, że ta wartość jest ponoć często ignorowana.

Cytat
1. JS File API powinno umożliwić Ci sprawdzenie rozmiaru przez JS.

Ale nie działa cross-browser. Zostaje jeszcze coś w stylu Uploadify/SWFUploader.
Kartofelek
Tylko uploadify, plupload itp flashowe czy w innej technologii.

Ogólnie co do input FILE to zapomnij o dobieraniu się do jej właściwości. Nawet value nie da rady pobrać ze względu na bezpieczeństwo.
Sprawdzać rozmiaru wybranego pliku też nie dasz rady, bo to było by niebezpieczne. I nawet jak jakaś przeglądarka da ci taką możliwość, to już większość nowych przeglądarek cię zablokuje.
erix
Cytat
Sprawdzać rozmiaru wybranego pliku też nie dasz rady, bo to było by niebezpieczne. I nawet jak jakaś przeglądarka da ci taką możliwość, to już większość nowych przeglądarek cię zablokuje.

Proponuję uaktualnić swoją wiedzę i nie siać niesprawdzonych herezji: http://www.w3.org/TR/FileAPI/
Crozin
Cytat
A to nie było przypadkiem dla przeglądarki? Sęk w tym, że ta wartość jest ponoć często ignorowana.
A szczerze powiedziawszy to teraz sam nie wiem. smile.gif Niestety nie mam czasu doszukać.

Co do ignorowania - każda z podanych tutaj metod może być i na chwilę obecną w wielu przypadkach jest ignorowana. Użycie większej ilości metod pozwala na pokrycie większej ilości użytkowników.
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.