проблема с загрузкой файла chm

У меня есть содержимое с типом mime, установленным как application/x-chm, что, как я понимаю, позволяет загружать файлы chm. Однако, когда я выбираю ссылку, которая вызывает диалоговое окно сохранения/открытия файла, расширение файла .chm не разрешается, и я должен явно добавить расширение файла .chm для сохраняемого файла. Как я могу автоматически разрешить расширение файла .chm?


person Mark Walsh    schedule 18.06.2012    source источник
comment
Как выглядит код, запускающий загрузку? Какие заголовки отправляются?   -  person Rob W    schedule 18.06.2012


Ответы (1)


Согласно этому официальному документу IANA, тип MIME для .chm файлов — application/vnd.ms-htmlhelp.

Примечание: вы никогда не знаете наверняка, как файл отображается для пользователя, поскольку пользователь может сам выбирать, как отображать файл.

person Rob W    schedule 18.06.2012
comment
Спасибо за ваш ответ Роб. К сожалению, изменение типа mime по-прежнему не имеет никакого эффекта. В ответ на ваш комментарий выше у меня нет контроля над кодом, который обрабатывает загрузку. У меня есть доступ только к коду, который загружает контент в нашу базу данных. PDF-файлы, которые загружаются таким же образом и имеют тип mime, установленный как application/pdf, работают должным образом. - person Mark Walsh; 19.06.2012
comment
@MarkWalsh Под заголовками я имею в виду заголовки ответа (сервера). Например, см. stackoverflow.com/q/2868976 (я имел в виду filename=...). Эти заголовки можно проверить в различных инструментах разработки, например. в Chrome: stackoverflow.com/q/4423061. - person Rob W; 19.06.2012
comment
Для файлов chm заголовок имеет Content-Type = application/vnd.ms-htmlhelp и Content-Disposition = attachment; имя файла=полезная нагрузка. В то время как для pdf-файлов заголовок имеет Content-Type = application/pdf и Content-Disposition = вложение; имя файла=полезная нагрузка. - person Mark Walsh; 19.06.2012
comment
Вам не приходило в голову использовать filename="payload.chm"? Я могу подтвердить, что .pdf автоматически добавляется с помощью ваших заголовков (Chrome 18). - person Rob W; 20.06.2012
comment
Ах да, в этом дело. Если имя загружаемого файла сохраняет расширение .chm, все в порядке. Однако в описанном мной случае файлам .chm присваиваются псевдонимы, которые не содержат расширения файла .chm, и у меня нет доступа к кодовой базе, которая обрабатывает это, есть только код, который загружает данные в ДБ. Так что похоже, что мне не повезло, но спасибо за всю помощь, Роб, очень признателен. - person Mark Walsh; 20.06.2012