2017-02-19 39 views
3

Я создаю молнию на Ionic.Zip.dll, как это (ASP.NET, C#):Ошибка - ошибка сети в ПОЛУЧИТЬ Zip файл в хроме

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(); 

Я протестировал этот код в локальном хосте Firefox и Chrome, и он работал правильно. Но когда я тестирую этот код на хосте, я получаю эту ошибку:

Failed - network error

Является ли мой код неправильным?

+1

попробуйте добавить контент-размер в заголовок ответа. сообщите мне, если это сработает. – Kahbazi

ответ

0

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