Chcę ograniczyć przeglądarkę do plików JPG po kliknięciu przycisku przeglądania na <input type="file">
.Jak filtrować okno dialogowe typu wejściowego = "plik" według określonego typu pliku?
Czy można wyszukiwać określone typy plików?
Chcę ograniczyć przeglądarkę do plików JPG po kliknięciu przycisku przeglądania na <input type="file">
.Jak filtrować okno dialogowe typu wejściowego = "plik" według określonego typu pliku?
Czy można wyszukiwać określone typy plików?
Zobacz http://www.w3schools.com/tags/att_input_accept.asp:
przyjęć atrybut jest dostępna we wszystkich głównych przeglądarek, z wyjątkiem Internet Explorer i Safari. Definicja i użycie
Atrybut accept określa rodzaje plików akceptowanych przez serwer (można je przesłać za pośrednictwem pliku).
Uwaga: Atrybutu accept można używać tylko z
<input type="file">
.Wskazówka: tego atrybutu nie należy używać jako narzędzia do sprawdzania oryginalności. Przesyłanie plików powinno zostać sprawdzone na serwerze.
Składnia
<input accept="audio/*|video/*|image/*|MIME_type" />
Wskazówka:.. Aby określić więcej niż jedną wartość, rozdzielając wartości przecinkiem (np
<input accept="audio/*,video/*,image/*" />
Dzięki .. Ale jak to naprawić dla IE? –
Nie naprawiasz tego. To jest coś, nad czym nie masz kontroli. Po prostu wyjaśnij w interfejsie, że to, co użytkownik powinien wybrać, jest obrazem i sprawdź go po stronie serwera. Właśnie to oznacza "Przesyłanie plików powinno być sprawdzone na serwerze". –
To powoduje, że mp4 nie jest dostępny w Safari. Musisz również podać 'video/mp4'. –
można użyć atrybutu przyjąć wraz z to nie działa w IE i Safari.
W zależności od skali projektu i możliwości rozszerzenia można użyć Struts . Struts oferuje dwa sposoby ograniczenia wysyłania plików, deklaratywnie i programowo ly.
Aby uzyskać więcej informacji: http://struts.apache.org/2.0.14/docs/file-upload.html#FileUpload-FileTypes
Dodaj atrybut niestandardowy do <input type="file" file-accept="jpg gif jpeg png bmp">
i odczytać nazwy plików wewnątrz javascript, który pasuje do rozszerzenia dostarczone przez atrybut file-accept
. To będzie trochę fałszywe, ponieważ plik tekstowy z dowolnym z powyższych rozszerzeń zostanie błędnie zatrzymany jako obraz.
<asp:FileUpload ID="FileUploadExcel" ClientIDMode="Static" runat="server" />
<asp:Button ID="btnUpload" ClientIDMode="Static" runat="server" Text="Upload Excel File" />
.
$('#btnUpload').click(function() {
var uploadpath = $('#FileUploadExcel').val();
var fileExtension = uploadpath.substring(uploadpath.lastIndexOf(".") + 1, uploadpath.length);
if ($('#FileUploadExcel').val().length == 0) {
// write error message
return false;
}
if (fileExtension == "xls" || fileExtension == "xlsx") {
//write code for success
}
else {
//error code - select only excel files
return false;
}
});
@slavoo ~ na pewno używać wejść ASP OP musiałby być uruchomiony ASP? Dlaczego dodatek do edycji? Odpowiedź UserAK47 ich nie wymaga. – Pebbl
@pebbl Otwórz wersje tego wpisu i przełącz na "side-by-side markdown" na rewizji nr 2, możesz zobaczyć wejścia asp było tutaj przed moją edycją, ale nie jest widoczne, ponieważ jest poza formatowaniem kodu. Naprawiam tylko format. – slavoo
@slavoo ~ ah ma sens ... inaczej bym chociaż trochę dziwne :) ty dla wyjaśnienia. – Pebbl
To da poprawną (niestandardowe) filtra, gdy okno dialogowe Plik jest pokazane:
<input type="file" accept=".jpg, .png, .jpeg, .gif, .bmp, .tif, .tiff|images/*">
Jakie przycisk wysyłania? Wprowadzanie pliku HTML? Lampa błyskowa? Coś innego? – Thilo
gdzie jest twój plik? na twoim komputerze lokalnym lub w Internecie? –
Możliwe odpowiedzi: http://stackoverflow.com/questions/181214/file-input-accept-attribute-is-it-useful – Matt