HTTP Sıkıştırma
HTTP Sıkıştırma problemi
Bazı kullanıcılar, IIS’de HTTP Sıkıştırmasını yapılandırırlarsa, üretilen dosyaları istemci tarayıcılara gönderirken hatalarla karşılaştıklarını bildirmektedir.
Açıklama
Tarayıcının dosyayı açmasını zorlamak için “Content-disposition”, “inline; filename=test.xls” başlığını kullanırız ve dosyanın Farklı Kaydet ile açılmasını zorlamak ve Microsoft Excel’in dosyayı açmasını sağlamak için “Content-disposition”, “attachment; filename=test.xls” başlığını kullanırız. Ancak bazı istisnaların olduğunu bilmek önemlidir.
Özel Durumlar
Aşağıdaki kodu kullanarak, bunun Aspose’un bir hatası olmadığını doğrulayabilirsiniz.
// 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(); |
Çözümler
Bu sorunu çözmek için aşağıdaki çözümlerden birini kullanabilirsiniz:
- Aspose.Cells çağrısı içeren belirtilen ASP.NET dosyalarını sıkıştırılmamış olan başka bir klasöre taşıyın.
- Dinamik içerik için HTTP Sıkıştırmasını devre dışı bırakın.
- Oluşturulan dosyayı sunucunuzda kaydedin ve kullanıcılarınıza bir bağlantı sağlayın.
Eğer HTTP Sıkıştırmasını kullanmak istiyorsanız, lütfen IIS sıkıştırmayı etkinleştirdiğinizi bildiğinizde her zaman OpenInBrowser seçeneği yerine OpenInExcel seçeneğini kullanın.