Zrobiłem łatwy sposób f lub sprawdzanie poprawności strony klienta w większości przypadków przy filtrowaniu plików. To jest całkiem proste. Teraz zanim przejdziesz i spróbujesz to zaimplementować, zrozum, że serwer MUSI sprawdzić ten plik, ponieważ filtrowanie javascript i HTML nie jest pewną rzeczą w przypadkach, gdy ktoś zmienia plik .js, a nawet HTML. Nie uwzględniam całego scenariusza dla prostego faktu, że cieszę się widząc, że inne implementują koncepcje za pomocą kreatywnego umysłu, ale są to kroki, które podejmowałem, które działają, dopóki nie znajdę lepszej odpowiedzi:
Utwórz obiekt js, który znajdzie dane wejściowe i obsługuje je.
Wywołanie funkcji, takiej jak OnClientUploadComplete dla formantu AsyncFileUpload modułu AjaxControlToolKit.
Wewnątrz tej funkcji zadeklaruj zmienną boolean: bIsAccepted (ustawioną na false) i string sFileName (po pobraniu nazwy pliku z argumentu).
W if..else Statement,
if(sFilename.indexOf(".(acceptedExtension1)") ||
sFileName.indexOf(".(AcceptedExtension2)"))
{
bIsAccepted = true;
}
else
{
bIsAccepted = false;
}
następnie
if(bIsAccepted)
{
//Process Data
}
Na serwerze, utworzenie listy akceptowanych rozszerzeń plików i przelotowego i przetwarzanie podobnie uczyni proces spoisty i konsekwentne, skutecznie pozwalając interfejsowi użytkownika i kodowaniu za pomocą filtra filtrować typy plików w niemal każdej sytuacji.
Ponieważ można to obejść, zmieniając nazwę, tak aby miała inne rozszerzenie pliku jako część nazwy, typ mime powinien również zostać sprawdzony przed przesłaniem do serwera w celu dalszego przetwarzania.
[http://www.webmaster-toolkit.com/mime-types.shtml][1]
Mam nadzieję, że to pomoże!
"Atrybut accept nie jest poprawnie obsługiwany przez żadną z głównych przeglądarek." (cytowane z http://www.w3schools.com/TAGS/att_input_accept.asp) – Nick
Nick ma rację. Próbowałem, że – Moon
Cytowana strona brzmi teraz "Atrybut accept jest obsługiwany we wszystkich głównych przeglądarkach, z wyjątkiem Internet Explorera i Safari . " – Mopper