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 и устанавливал его в размере байтового массива из служб отчетов.

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