2011-01-08 16 views
29

Varsayılan olarak, tüm dosya türlerini seçebilir ve yalnızca .pdf dosyalarını seçebilecek şekilde nasıl sınırlandırabilirsiniz?<input type = "file"> nasıl kısıtlanır, böylece sadece .pdf dosyalarını seçebilir?

+0

olası yinelenen [sınırlı dosya türleri ile HTML dosyası giriş alanına?] (http://stackoverflow.com/questions/1240934/html-file-input-field- sınırlı dosya türleri ile) – marcog

+0

İstemci tarafı bu mümkün değil AFAIK. Kullanıcı tarafından yayınlamaya karar verdiğinde, sunucu tarafını kontrol etmeniz gerekir. – ChristopheD

+0

Ayrıca, [Dosya girişi 'kabul' özniteliğini kontrol edin - yararlı mıdır?] (Http://stackoverflow.com/questions/181214/) Geçici çözümler için. –

cevap

27

Tarayıcınızın belirli türleri kısıtlamasını önermek için formunuzdaki accept özniteliğini kullanabilirsiniz. Ancak, emin olmak için sunucu tarafı kodunuzda yeniden doğrulamak isteyeceksiniz. Müşterinin sana ne gönderdiğine asla güvenme. daha açık

1

Basitçe söylemek gerekirse: düz html ve javascript kullanamazsınız. Elde edebileceğin en yakın olan şey, formu göndermeden önce javascript kullanarak dosya uzantısını test etmektir ve .pdf'dan farklısa kullanıcıya bir hata mesajı göstermesidir. Bunu gerçekleştirmek istiyorsanız, Flash yükleme denetimleri gibi bazı istemci tarafı çözümlerini kullanmanız gerekebilir.

+0

Dosyayı uzantısına göre bırakmak için JavaScript'i kullanamazsınız? –

+0

@ Šime Vidas, evet seçilen dosyanın uzantısını test etmek için gerçekten javascript kullanılabilir. –

71

...

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

PC'de Adobe Reader yüklü olmadığında bu neden çalışmıyor? Bugün bana oldu ... –

İlgili konular