Я хочу ограничить браузер файлами JPG, когда я нажимаю кнопку обзора <input type="file">
.Как фильтровать тип ввода = «файл» по конкретному типу файла?
Можно ли просматривать определенные типы файлов?
Я хочу ограничить браузер файлами JPG, когда я нажимаю кнопку обзора <input type="file">
.Как фильтровать тип ввода = «файл» по конкретному типу файла?
Можно ли просматривать определенные типы файлов?
См http://www.w3schools.com/tags/att_input_accept.asp:
акцепт атрибут поддерживается во всех основных браузерах, кроме Internet Explorer и Safari. Определение и использование
Атрибут accept определяет типы файлов, которые принимает сервер (который может быть отправлен при загрузке файла).
Примечание: атрибут accept может использоваться только с
<input type="file">
.Совет. Не используйте этот атрибут в качестве инструмента проверки. Загрузка файлов должна быть проверена на сервере.
Синтаксис
<input accept="audio/*|video/*|image/*|MIME_type" />
Совет.. Чтобы указать более одного значения, разделите значения запятыми (например
<input accept="audio/*,video/*,image/*" />
Спасибо .. Но как исправить это для IE ?? –
Вы не исправляете это. Это то, на что вы не контролируете. Просто уточните в пользовательском интерфейсе, что пользователь должен выбрать изображение и проверить его на стороне сервера. Это означает, что «загрузка файлов должна быть проверена на сервере». –
Это делает mp4 неприемлемым в Safari. Вам также необходимо указать 'video/mp4'. –
Вы можете использовать атрибут принимать вместе с Это не работа в IE и Safari.
В зависимости от масштаба вашего проекта и расширяемости вы можете использовать Struts. Struts предлагает два способа ограничить тип загружаемого файла декларативно и программным LY.
Для получения дополнительной информации: http://struts.apache.org/2.0.14/docs/file-upload.html#FileUpload-FileTypes
Добавить пользовательский атрибут <input type="file" file-accept="jpg gif jpeg png bmp">
и читать имена файлов внутри JavaScript, который совпадает с расширением, предоставленное атрибутом file-accept
. Это будет своего рода подделкой, поскольку текстовый файл с любым из вышеуказанных расширений будет ошибочно ограничен в качестве изображения.
<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 ~ наверняка использовать входы ASP, OP должен быть запущен ASP? Почему добавление в редактирование? Ответ UserAK47 не требует их. – Pebbl
@pebbl Откройте ревизии этого сообщения и переключитесь на «бок о бок» в редакции № 2, вы можете видеть, что входы asp были здесь до моего редактирования, но не видны, потому что это не из кода. Я исправляю только формат. – slavoo
@slavoo ~ ах, что имеет смысл ... иначе я бы хотел, хотя бы немного странно :) для разъяснения. – Pebbl
Это даст правильный (пользовательский) фильтр, когда диалог файла показывает:
<input type="file" accept=".jpg, .png, .jpeg, .gif, .bmp, .tif, .tiff|images/*">
Какую кнопку загрузки? Вход в файл HTML? Вспышка? Что-то другое? – Thilo
где ваш файл? на вашем локальном компьютере или в Интернете? –
Возможный ответ: http://stackoverflow.com/questions/181214/file-input-accept-attribute-is-it-useful – Matt