2017-02-19 4 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에서 localhost로이 코드를 테스트했는데 제대로 작동했습니다. 그러나 호스트에서이 코드를 테스트 할 때 다음 오류가 발생합니다.

Failed - network error

코드가 잘못 되었습니까?

+1

응답 헤더에 content-size를 추가하십시오. 작동하는지 알려주세요. – 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 헤더를 추가하고 서비스를보고로부터 바이트 배열의 크기로 설정 하였다 아빈의 제안 @ 촬영, 나는 다음과 같은했다.