2017-02-19 4 views
3

私はこのようなIonic.Zip.dll(ASP.NET、C#の)でzipファイルを作成していますで:失敗しました - ネットワークエラーのget 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ヘッダを追加し、サービスを報告してからバイト配列のサイズに設定しました。

関連する問題