Не удается открыть файлы Office 2007 из браузера в приложении ASP.NET

У меня есть веб-страница ASP.NET, которая открывает запрошенный файл и записывает его в ответ, так что файл должен открываться в браузере. Он работает нормально, но с типами файлов Office 2007 (.xlsx, .docx, ...) не работает должным образом. По сути, он ничего не возвращает, пустой ответ, пустой ответ.

На самом деле, это происходит только на моих живых серверах (Windows Server 2008). На моих тестовых серверах он работает нормально (и они тоже Windows Server 2008!).

Код выглядит так:

string filePath = @"C:\mytests\test.docx";
string fileName = @"test";

Response.Buffer = true;
Response.Clear();
Response.ClearContent();
Response.ClearHeaders();
Response.ContentType = contentType;
Response.AddHeader(
   "content-disposition",
   "inline; filename=\"" + fileName + "\"");
Response.TransmitFile(filePath);
13.10.2009 09:10:06
Проблема была идентифицирована. Это была проблема фильтрации SSL балансировки нагрузки. Спасибо всем за ваши ответы и помощь.
German Latorre 19.10.2009 11:12:47
4 ОТВЕТА

Изучите параметры MIME для Internet Explorer на серверах, затронутых этой проблемой

1
13.10.2009 09:18:01

Попробуйте добавить Response.End () в конце, чтобы закрыть.

0
13.10.2009 09:26:41

На действующем сервере проверьте типы MIME в диспетчере служб IIS.

Я думаю:

.docxдолжно быть application/vnd.openxmlformats-officedocument.wordprocessingml.document .xlsxдолжно бытьapplication/vnd.openxmlformats-officedocument.spreadsheetml.sheet

0
13.10.2009 09:28:26
Попробуйте заменить строку Response.ContentType = contentType;на Response.ContentType = "application/vnd.openxmlformats-officedocument.wordprocessingml.document";(для файла .docx). Интересно, если это проблема, так как я думаю, что страница является адресом .aspx?
JDunkerley 13.10.2009 10:02:43
На самом деле, переменная contentType содержит именно эту строку для файлов, которые я использую для тестирования. Страница является адресом .ashx.
German Latorre 13.10.2009 11:04:09

Возможно ли, что ваши живые серверы находятся в другой зоне безопасности, чем ваши тестовые серверы? Например, Интранет или Интернет?

0
14.10.2009 20:14:17