Расширение файла для загрузки в HTML-форме может быть проверена с помощью JQuery в Valdation плагин:Исследовать Тип файла (не Extension) перед загрузкой
<form enctype="multipart/form-data" id="form-id">
<input type="file" name="file-id" id="file-id" />
</form>
Это может быть подтверждено JQuery в Validation Plugin с помощью A править
$("#form-id").validate({
rules: {
file-id: {
extension: ["jpg","png","gif"]
}
});
для нашего использования, простая проверка расширения не является достаточным, поскольку пользователи, как правило, переименовывать Graphics свои файлы перед загрузкой без их преобразования. Например. мы извлекаем PDF-графику, которую невозможно преобразовать, например. png's by libgd.
Есть ли способ изучить реальный контент графического файла и предотвратить загрузку не обрабатываемых форматов?
@stefan Большинство файловых форматов имеют некоторый идентификатор/заголовок в начале файла, поэтому загружайте сначала, например, 128 байт (или больше зависит от максимального необходимого смещения от всех поддерживаемых форматов файлов) и проверяйте каждый поддерживаемый тип файла, если найден ID то все ОК, если нет, то выбросьте его как неправильный файл .... (google fileformat для каждого типа файлов, который вам нужен там, вы найдете все, что вам нужно ...) – Spektre