Определение MIME type (content type)
Есть простейший скрипт который показывает тип файла выбранного в input:file
<!DOCTYPE html> <html> <head> <meta http-equiv="content-type" content="text/html; charset=UTF-8"> <script type='text/javascript' src='//code.jquery.com/jquery-1.9.1.js'></script> <script type='text/javascript'> $(window).load(function(){ $("a").on("click", function(){ alert(document.getElementById('fileChooserID').files[0].type) }) }); </script> </head> <body> <input type="file" name="" id="fileChooserID"> <a href="#">Click</a> </body> </html> Живой пример: http://jsfiddle.net/Xm2AN/2/ Но, например, для файлов .psd и .cdr тип файла отсутствует, причем отсутствует только на винде (проверялось в Windows 7 Chrome 25, и Mac OS X Mountain Lion 10.8 Chrome на одинаковых файлах). Кто сталкивался с подобной проблемой, подскажите, пожалуйста, как определить MIME type таких файлов? Спасибо. |
Как вариант, попробовать прочитать часть файла через FileReader и попытаться определить что перед нами - psd или нет.
|
а с чем вообще может быть связана подобная невозможность определить тип?
|
Цитата:
миме тип вот он Цитата:
selahssea, возможно, только по расширению файла - пальцем в небо |
selahssea, не только эти 2 формата, а как я понял много не стандартных форматов не определяет..
|
Не знаю. В реестре вроде contentType прописан корректно - image/photoshop. Почему так происходит - непонятно. Кстати, нельзя ли простро проверять расширение файла? Для этого даже сойдет input.value, правда только для одного файла.
|
Цитата:
|
danik.js, меня тоже посетила мысль сделать что типо словаря, для нужны форматов, хотя все таки причина интересна почему так, завтра поищу ответ.
|
Цитата:
|
selahssea, а от кого и от чего вы защищаетесь? Так или иначе все, что происходит на клиенте - не безопасно :)
|
Часовой пояс GMT +3, время: 23:52. |