Получение типа контента в .ashx из uploadify - PullRequest
1 голос
/ 12 ноября 2010

Я могу загрузить свой файл с помощью uploadify + .ashx, но проблема в том, что я всегда получаю ContentType = application/octet-stream

Допустим, я загружаю изображение, я ожидал вернуть мне "image/pjpeg", но оно всегда возвращает "application/octet-stream" независимо от того, какой файл я загрузил.

Посоветуйте, пожалуйста, как получить правильный contentType в .ashx

1 Ответ

0 голосов
/ 12 ноября 2010

Я считаю, что наиболее вероятно тип контента устанавливается браузером. Независимо от этого, разные браузеры могут устанавливать разные типы контента для разных файлов - и они могут использовать общий тип контента, такой как «application / octet-stream» для любого двоичного файла (pdf, zip, doc, xls). Возможно, что один браузер сообщит docx как «application / vnd.openxmlformats», а другой как «application / x-zip-compress», а еще один - как «application / octet-stream». И все же все они верны, поскольку docx - это двоичные файлы и сжатые (zip) файлы.

Короче говоря, я предлагаю вам не полагаться на тип контента, отправляемый клиентом (помимо определенной степени, такой как определение его текста, HTML или двоичный файл и т. Д.), А вместо этого использовать логику анализа на стороне сервера для определения типа содержимого файла. , Простой анализ может быть основан на расширении файла, в то время как более надежная реализация будет грабить фактическое содержимое файла, где обычно первые несколько байтов файла указывают тип файла.

...