Flex SDK 3.5 - проверка файла mimetype - PullRequest
2 голосов
/ 19 апреля 2010

Есть ли способ получить mimetype файла в Flex SDK 3.5 без использования его расширения?

Мне нужно проверить, является ли загруженный файл определенного типа. Это для изображений или документов (PDF, ODT и т. Д.)

Все решения, которые я нашел, проверяют его расширение. Что если я переименую файл .odt в .jpg? Тогда я могу загрузить его как изображение ...

Я должен добавить, что мы используем настольный клиент AIR и сервер Java EE. Проверка файлов решается на стороне Java, но идея не в том, чтобы перейти на сервер, а в том, чтобы проверить файл, поэтому, если он недействителен, сетевой трафик вообще отсутствует.

Ответы [ 2 ]

3 голосов
/ 19 апреля 2010

Не совсем. Файлы не имеют встроенного MIME-типа. MIME-тип данных произвольного содержимого описан в заголовке интернет-протокола, используемого для передачи данных (например, HTTP, SMTP, RTP и т. Д.).

Единственное другое решение, о котором я мог подумать, - это использовать метод проб и ошибок, когда у вас есть предположение о типе файла, с которым вы имеете дело, и вы проверяете это предположение, фактически открывая файл (в вашем коде) и тестирование на успех. Но это безобразно.

Steav, ваше решение просто смотрит на заголовок ответа, который может быть установлен неправильно.

0 голосов
/ 19 апреля 2010

Самый простой способ - использовать php, если это возможно:

$fileinfo['content-type'];
...