2011-01-08 15 views
29

Domyślnie może wybrać wszystkie typy plików, jak je ograniczyć, aby można było wybrać tylko pliki .pdf?Jak ograniczyć <typ wejściowy = "plik">, aby mógł wybrać tylko pliki .pdf?

+0

możliwe duplikat [HTML pola wejściowego pliku z ograniczonymi typów plików?] (Http://stackoverflow.com/questions/1240934/html-file-input-field- with-limited-file-types) – marcog

+0

Strona klienta nie jest możliwa AFAIK. Musisz sprawdzić po stronie serwera, co dokładnie użytkownik zdecydował się opublikować. – ChristopheD

+0

Sprawdź również [Wprowadzanie pliku "zaakceptuj" atrybut - czy jest przydatny?] (Http://stackoverflow.com/questions/181214/) w przypadku obejść. –

Odpowiedz

27

Możesz użyć atrybutu accept w swoim formularzu, aby zaproponować przeglądarce ograniczenie pewnych typów. Jednak będziesz chciał ponownie sprawdzić w swoim kodzie po stronie serwera, aby się upewnić. Nigdy nie ufaj, co klient ci wysyła.

1

Po prostu: nie można używać zwykłego html i javascript. Najbliższym rozwiązaniem jest przetestowanie rozszerzenia pliku przy użyciu javascript przed przesłaniem formularza i wyświetlenie użytkownikowi komunikatu o błędzie innego niż .pdf. Jeśli chcesz to osiągnąć, być może będziesz musiał skorzystać z niektórych rozwiązań po stronie klienta, takich jak formanty przesyłania plików Flash.

+0

Nie możesz użyć JavaScript do usunięcia pliku na podstawie jego rozszerzenia? –

+0

@ Šime Vidas, tak rzeczywiście javascript może być używany do testowania rozszerzenia wybranego pliku. –

71

wyraźniej ...

<input type="file" accept="application/pdf" /> 
+0

Dlaczego to NIE działa, gdy na komputerze nie ma zainstalowanego programu Adobe Reader? Zdarzyło mi się dzisiaj ... –

Powiązane problemy