Я написал веб-сервер TIdHTTPServer. Версия Indy — 10, Delphi — 2007.
Я использую следующий код для отправки обратно файлов jpeg, gif, png и т. д.:
AResponseInfo.ServeFile(AContext,rootpath+ARequestInfo.document);
AResponseInfo.ContentType := 'image/jpeg';
AResponseInfo.ContentType := GetMimeTypeFromFile('.'+ExtractFileDir(rootpath+ARequestInfo.document));
Изображения корректно отображаются во всех браузерах. Но я вижу (через консоль в Chrome), что они возвращаются как тип MIME: text/html. Я пробовал оба метода image/jpeg и GetMIMTypeFromFile, и оба выдают текст/html.
Есть ли еще один звонок, который я должен сделать? Я видел в других потоках вызовы функции AResponseInfo.WriteHeader. Но при добавлении возникает исключение, заголовок записывается дважды.