HTTP-сжатие
Проблема с HTTP-сжатием
Некоторые пользователи сообщают, что при настройке HTTP-сжатия в IIS они обнаруживают ошибки при отправке сгенерированных файлов в клиентские браузеры.
Объяснение
Мы используем**«Расположение содержимого», «встроенный; имя файла = test.xls»** заголовок, чтобы заставить браузер открыть файл и**“Контент-диспозиция”, “вложение; имя файла=test.xls”** заголовок, чтобы заставить браузер открыть**Сохранить как** диалоговое окно и используйте Microsoft Excel, чтобы открыть файл. Тем не менее, есть некоторые исключения, которые действительно существуют.
Исключения
Вы можете использовать следующий код, чтобы убедиться, что это НЕ ошибка Aspose.
// For complete examples and data files, please go to https://github.com/aspose-cells/Aspose.Cells-for-.NET | |
FileStream fs1 = new FileStream(path + "\\KnowledgeBase\\SampleData.xlsx", FileMode.Open, FileAccess.Read); | |
byte[] data1 = new byte[fs1.Length]; | |
fs1.Read(data1, 0, data1.Length); | |
this.Response.ContentType = "application/xls"; | |
Response.AddHeader("content-disposition", "inline; filename=book1.xls"); | |
Response.BinaryWrite(data1); | |
Response.End(); |
Решения
Для решения этой проблемы можно использовать один из следующих обходных путей:
- Переместите указанные файлы ASP.NET (которые содержат код, вызывающий Aspose.Cells) в другую несжатую папку.
- Отключите сжатие HTTP для динамического содержимого.
- Сохраните сгенерированный файл на своем сервере и предоставьте ссылку своим пользователям.
Если вы хотите использовать HTTP-сжатие, всегда используйтеОпенИнЭксель вариант вместоОткрыть в браузере вариант, когда вы знаете, что включили сжатие IIS.