2010-01-29 3 views
10

Я пытаюсь загрузить файл ics на свой сайт. Он был экспортирован из iCal на Mac OSX. Я думал, что файлы ics имеют тип mime text/calendar, но по какой-то причине этот файл имеет тип Application/octet-stream. Это приводит к тому, что загрузка не позволяет проверить проверку. У кого-нибудь есть идеи, почему тип не то, что я ожидаю ?!ics файл mime type

+0

Какую кодировку вы используете? –

ответ

6

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

Тип MIME очень ограничен для использования в качестве валидации, так как он может быть свободно измененный клиентом.

+0

чувак, вы только что сказали, что он определяется браузером, но он может быть свободно изменен клиентом - что это? – jckdnk111

+0

Спасибо за это. Я обязательно буду использовать другой процесс проверки. Тем не менее, я все еще немного смущен. Если я открою файл непосредственно в окне браузера, он отобразит содержимое правильно. – musoNic80

+3

@jckdnk: Определяется браузером (= клиент). Это может быть подделано (= свободно изменено) злоумышленником, имитирующим браузер. Что вам непонятно? –

7

Попробуйте добавить в заголовок content-type из text/calendar. Если вы только что подали заявку от Apache, вы можете найти инструкцию здесь: http://httpd.apache.org/docs/1.3/mod/mod_mime.html

+1

Он пытается * загрузить * файл ics. –

+0

ах, пропустил это, извините. – jckdnk111

+2

По иронии судьбы, этот ответ полезен для таких людей, как я, которые ошибались в Googled, но получили правильный ответ из-за его предположения. +1 – QuickDanger

1

Я добавлю свои два цента. Браузеры вообще смотрят на заголовки, которые сервер отправляет для определения типа MIME. Если MIME-тип не отправляется сервером, хорошие браузеры предполагают, что у всех IE обычно нет. Ссылка на документы apache выше, размещенные jckdnk111, является хорошим ресурсом.