2016-09-21 1 views
9

Ich versuche, eine Excel-Datei von EPPlus.dll aus einer asp.net C# Webformular-Anwendung herunterladen. aber ich bekomme Fehler - Netzwerkfehler. Es sollte beachtet werden, dass der erwähnte Fehler nur in Chrome auftritt und der Job in einem anderen Browser erfolgreich durchgeführt werden kann.fehlgeschlagen - Netzwerkfehler beim Herunterladen Excel-Datei von EPPlus.dll gemacht

übrigens ist dieser Fehler nicht auf meinem localhost und es passiert nur auf dem Hauptserver.

Es wäre sehr hilfreich, wenn jemand die Lösung für dieses Problem erklären könnte.

http://www.irandnn.ir/blog/PostId/29/epplus

+0

po st der Code für das Click-Ereignis oder etwas, wo diese Datei tatsächlich an den Client gesendet wird. – Rex

Antwort

5

Try this:

using (ExcelPackage p = new ExcelPackage()) 
{ 
    //Code to fill Excel file with data. 


    Byte[] bin = p.GetAsByteArray(); 

    Response.ClearHeaders(); 
    Response.ClearContent(); 
    Response.ContentType = "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet"; 
    Response.AddHeader("Content-Disposition", string.Format("attachment;filename={0}", Nombre_Del_Libro + ".xlsx")); 
    Response.BinaryWrite(bin); 
    Response.Flush(); 
    Response.End(); 
} 
12

Ich hatte das gleiche Problem, wenn ich wurde mit Response.Clear() und Response.Close() und hatte sie zu vermeiden, meinen Code zu suchen, wie unten die funktionieren.

Response.Buffer = true; 
Response.ContentType = mimeType; 
Response.AddHeader("Content-Disposition", "attachment; filename=" + nameOfFile); 
Response.BinaryWrite(bytes); 
Response.End(); 
0

Ich hatte das gleiche Problem und ich mit dem Code unten gelöst, beachten Sie die Anführungszeichen in filename = \ "Name.xlsx \":

Response.Buffer = true; 
Response.ContentType = "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet"; 
Response.AppendHeader("content-disposition", "attachment; filename=\"Name.xlsx\""); 
//Writeout the Content 
Response.BinaryWrite(bytes); 
1

Ich bevorzuge keine response.End(), da eine Ausnahme ausgelöst wird

protected void DownloadFile(FileInfo downloadFile, string downloadFilename, string downloadContentType) 
    { 
     Byte[] bin = File.ReadAllBytes(downloadFile.FullName); 

     Response.ClearHeaders(); 
     Response.ClearContent(); 
     Response.ContentType = downloadContentType; 
     Response.AddHeader("Content-Disposition", string.Format("attachment;filename={0}", downloadFilename)); 
     Response.BinaryWrite(bin); 
     Response.Flush(); 
     Response.SuppressContent = true; 
    } 
+1

Das hat mein Problem gelöst. Danke – Sergio

Verwandte Themen