Я интеграции plupload с моей ASP.NET приложения MVC3, со следующими параметрами:Как фильтровать типы файлов во время выполнения HTML5 в plupload?
var uploaderSettings = {
runtimes: "html5,silverlight,flash,html4",
browse_button: "browse-button",
container: "upload-ui",
drop_element: "drag-drop-area",
file_data_name: "file",
multiple_queues: true,
max_file_size: "10mb",
url: '@Url.Action("Index", "Upload")',
flash_swf_url: '@Url.Content("~/js/plupload/plupload.flash.swf")',
silverlight_xap_url: '@Url.Content("~/js/plupload.silverlight.xap")',
filters: [
{title: "Excel Files", extensions: "xls,xslx,csv"}
],
multipart: true,
urlstream_upload: true,
dragdrop: true,
multipart_params: {
token: "@AuthToken()"
}
};
из которых plupload является генерирование <input type="file">
со следующими элементами в атрибуте accept
(разделенные запятой):
application/vnd.ms-excel
application/vnd.openxmlformats-officedocument.spreadsheetml.sheet
text/csv
В Firefox 12.0 он игнорирует фильтр и позволяет выбирать любой тип файла.
В Chrome 21 он не работает с упомянутыми расширениями файлов, но если я изменю фильтр на файлы изображений (jpg, png, gif), он правильно фильтрует диалоговое окно «Выбрать файл».
Я нашел this issue на багтрекер Chromium, который, кажется, связаны, но был отмечен как фиксированный в октябре 2010 года
Если переключить приоритет выполнения для Silverlight или вспышки выше html5, она работает правильно, но я бы предпочел не делать этого, поскольку теряю функциональность загрузки файлов перетаскивания.
Это просто ограничение поддержки браузера атрибута accept, я делаю что-то неправильно или это ошибка в plupload?
UPDATE: похоже, что это known issue, и сводится к поддержке браузером для фильтрации типа mime.
Принять это не HTML5 http://www.w3schools.com/tags/att_input_accept.asp, так что подумал бы, что он должен иметь более широкую поддержку! –
Правда, это было с тех пор, как HTML2 - тем не менее, так много функций HTML5; HTML5 - это скорее стандартизация случайных особенностей, характерных для браузера. –