Сжатие HTTP
Проблема сжатия HTTP
Некоторые пользователи сообщают, что если они настроят сжатие HTTP в IIS, они обнаруживают ошибки при отправке сгенерированных файлов в веб-браузеры клиентов.
Объяснение
Мы используем заголовок “Content-disposition”, “inline; filename=test.xls” для того, чтобы заставить браузер открыть файл, и заголовок “Content-disposition”, “attachment; filename=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-сжатие, пожалуйста, всегда используйте опцию OpenInExcel вместо опции OpenInBrowser, когда вы знаете, что включили сжатие IIS.