Не удается открыть файлы 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);

4 ответа

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

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

Я думаю:

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

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

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

Другие вопросы по тегам