У нас есть ссылка для скачивания файла PDF на веб-странице с программой CGI на языке C, которая фактически передает файл с веб-сервера нашего встроенного устройства. Веб-сервер имеет пользовательскую кодировку из-за серьезных ограничений памяти.
Рекомендуемое имя файла для программы на C: «Manual.pdf».
В Internet Explorer 8, когда мы нажимаем на ссылку, открывается обычное окно «Открыть / Сохранить» с предложенным именем файла «download.pdf», что неверно. На Firefox предлагаемое имя файла «download.cgi», что хуже. Однако оба браузера правильно указывают, что загружаемый файл имеет тип PDF.
Вот несколько несвязанных фрагментов кода, чтобы показать заголовки, которые мы возвращаем:
{ CONTENT_TYPE_PDF, "application/pdf\nContent-Disposition:attachment;" }
sprintf(tmpBuf, "Content-Type: %s\n", get_tbl_string((tbl_str_itm_t*)content_type, session->response.contenttype));
strcpy(tmpBuf, "filename=Manual.pdf\n");
strcat(tmpBuf, "Cache-Control: no-cache, no-store\n");
Может кто-нибудь сказать, что мы делаем не так?
Любая помощь с благодарностью.
С наилучшими пожеланиями,
Bert