SORU
1 Aralık 2010, ÇARŞAMBA


Kullanarak <ınput type="dosya" dosyası biçimi sınırı;>?

Kullanıcı HTML <input type="file"> öğe Gözat düğmesini tıklattığında yerli OS dosya seçici seçilebilir dosya türünü kısıtlamak istiyorum. İmkansız gibi bir his var içimde, ama varsa bilmek isterimbir çözüm. Sadece HTML ve JavaScript için tutmak istiyorum; Flash lütfen.

CEVAP
16 Mayıs 2014, Cuma


Açıkçası, cevaphayır. Geliştiriciolamazherhangi bir tür veya yerel OS dosya Seç iletişim kutusunda Dosya uzantısı seçerek kullanıcı önlemek.accept<input type = "file"> öznitelik OS dosya Seç iletişim kutusunda bir filtre sağlamak için yardımcı olabilir. Örneğin,

<!-- (IE 10 , Chrome) -->
<input type="file" accept=".xls,.xlsx" />

bir yol sağlar Dosyaları dışında filtrelemek için .DOC ya da .örnekte bir DVD. Giriş özniteliği için MDN sayfa bu bunu desteklediğini söylüyor olsa da, benim için sürpriz oldu, bu Firefox 36 (2015 Nisan 2) benim için işe yaramadı. Bu IE 10 ve Chrome çalışır.

Yani, Firefox destek için (IE 10 ve Chrome ile birlikte), en iyi MIME türlerinin virgülle ayrılmış listesi kullanmak için sanırım:

<!-- (IE 10 , Chrome, Firefox) -->
<input type="file"
 accept="application/vnd.openxmlformats-officedocument.spreadsheetml.sheet,application/vnd.ms-excel" /> 

Aynı JSFiddle: here.< / ^ br .< / ^ br . Referans:List of MIME-types< / ^ br .< / ^ br . ÖNEMLİ:Kabul özniteliği kullanarak sadece ilgi değildir bu tür dosyaları filtreleme için bir yol sağlar. Tarayıcılar hala kullanıcı herhangi bir tür dosyaları seçmek için izin ver. (İstemci tarafı) ek kontroller yapılmalı (JavaScript kullanarak, bir şekilde this olabilir) ve kesinlikle dosya türleriSunucu üzerinde doğrulanmış olması GEREKİR, MIME tipi bir arada her iki dosya uzantısı ve ikili imzası(ASP.NET, PHP, , *Ruby*20)kullanma. Ayrıca dosya türleri içinthese tables ve onların başvurmak isteyebilirsiniz sunucu tarafında daha güçlü bir doğrulama gerçekleştirmek için magic numbers,.< / ^ br .< / ^ br . Burada dosya yükleme ve güvenlik üzerine 24* good reads *.

DÜZENLEME:Olabilir dosya türü doğrulama kullanarak kendi ikili imza da yapılabilir istemci tarafında JavaScript kullanarak (yerine sadece bakarak uzantısı) kullanarak HTML5 Dosya API, ama yine de dosya olmalı doğrulanmış sunucu, çünkü kötü niyetli bir kullanıcı, yine de mümkün upload files yaparak özel bir HTTP isteği.

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • Doug Bernards

    Doug Bernard

    7 Kasım 2007
  • PCDIY

    PCDIY

    16 AĞUSTOS 2013
  • thelonelyisland

    thelonelyisl

    23 Aralık 2005