Как указать список файлов в формате HTML? - PullRequest
1 голос
/ 29 мая 2011

Когда вы используете <input type="file"> в своем приложении, вы получаете диалоговое окно выбора файла со всеми файлами по умолчанию.

Есть ли способ указать типы файлов для этого? Можно ли, например, выбрать только файлы ".txt"?

Ответы [ 3 ]

3 голосов
/ 29 мая 2011

Это действительно просто.Все, что вы делаете, это добавляете атрибут accept, который определяет, какие расширения файлов вы хотите разрешить.

<input type="file" accept="image/gif,image/jpeg">

Этот ввод разрешит только gif и jpegs, но вы можете разрешить любой список через запятую.

См .: http://www.cs.tut.fi/~jkorpela/forms/file.html#filter http://www.w3schools.com/tags/att_input_accept.asp

edit: конечно, вы можете сделать это и с помощью javascript, проверив тип файла после выбора файла, но лучше не проверять до пользователь выбирает файл?

1 голос
/ 29 мая 2011

При проверке вы можете проверить тип файла или использовать событие on change для определения типа файла.

<input name='upload' id='file' type='file' />

Часть Javascript

var file = document.getElementById('file');

if (file.value.test(/(\.txt)|(\.jpg)/gi)) { // case insensitive
  // then validate
}

в этом случае принимаются только txt или jpg. но, конечно, вам придется пройти повторную проверку на стороне сервера, потому что javascript можно легко обойти

0 голосов
/ 29 мая 2011

Да, с атрибутом accept.

Любой старый мусор может быть опубликован независимо от того, что вы поместили в HTML-форму, поэтому убедитесь, что проверен правильный тип файла, размещенный на стороне сервера.

...