Failed - ошибка сети при получении Zip-файла в Chrome
Я создаю молнию Ionic.Zip.dll
вот так (ASP.NET,C#):
zip.AddEntry("Document.jpeg", File.ReadAllBytes("Path");
Я хочу скачать это так:
Response.Clear();
Response.BufferOutput = false;
Response.ContentType = "application/zip";
Response.AddHeader("content-disposition", "filename=SuppliersDocuments.zip";
zip.Save(Response.OutputStream);
Response.Close();
Я протестировал этот код в localhost с помощью Firefox и Chrome, и он работал правильно. Но когда я тестирую этот код на хосте, я получаю эту ошибку:
Failed - ошибка сети
Мой код неверен?
1 ответ
Я столкнулся с аналогичной проблемой при передаче отчета SSRS. Приняв предложение @ Арвина, я сделал следующее:
private void CreateReport(string ReportFormat)
{
ReportViewer rview = new ReportViewer();
// (setup report viewer object)
// Run report
byte[] bytes = rview.ServerReport.Render(ReportFormat, deviceInfo, out mimeType, out encoding, out extension, out streamids, out warnings);
// Manually create a response
Response.Clear();
Response.ContentType = mimeType;
Response.AddHeader("Content-disposition", string.Format("attachment; filename={0}.{1}", fileName, extension));
// Ensure the content size is set correctly
Response.AddHeader("Content-Length", bytes.Length.ToString()); // <- important
// Write to the response body
Response.OutputStream.Write(bytes, 0, bytes.Length);
// (cleanup streams)
}
Исправление добавляло заголовок Content-Length и устанавливал его в размере байтового массива из служб отчетов.