Я пытался заставить эту страницу aspx подать pdf. В Firefox он работает правильно, но IE выдает
Internet Explorer не может загрузить getform.aspx с SERVER_NAME
Internet Explorer не смог открыть этот интернет-сайт. Запрашиваемый сайт недоступен или не найден.
Это общая функциональность моего кода. Он распространяется на несколько функций (именно поэтому мы не используем WriteFile - иногда мы генерируем pdf на лету), но обычно это так:
FileStream fs = File.Open(Path.Combine(PdfBasePath, "form.pdf"), FileMode.Open, FileAccess.Read);
Stream output = Response.OutputStream;
byte[] buffer = new byte[BUFFER_SIZE];
int read_count = fs.Read(buffer, 0, BUFFER_SIZE);
while (read_count > 0)
{
output.Write(buffer, 0, read_count);
read_count = fs.Read(buffer, 0, BUFFER_SIZE);
}
fs.Close();
Response.Clear();
Response.ContentType = System.Net.Mime.MediaTypeNames.Application.Pdf;
Response.AddHeader("Content-Disposition", "attachment; filename=form.pdf");
Response.Output.Flush();
Response.End();
Глядя на Fiddler, страница выбирается с помощью этого:
GET /getform.aspx?Failure=Y&r=someencryptedstring HTTP / 1.1
Возвращается в браузер таким образом:
HTTP / 1.1 200 OK
Дата: четверг, 09 апреля 2009 г. 22:08:33 GMT
Сервер: Microsoft-IIS / 6.0
X-Powered-By: ASP.NET
X-AspNet-версия: 2.0.50727
Прагма: без кеша
Содержание-Диспозиция: вложение; имя файла = form.pdf
Cache-Control: без кеша, без хранилища
Прагма: без кеша
Истекает: -1
Тип контента: приложение / pdf
Длина контента: 628548
Это действительно беспокоит меня. Я не использую SSL, в противном случае эта статья базы знаний , похоже, применима. У кого-нибудь есть идеи?