C# aspx – Firefox meldet XML-Verarbeitungsfehler und Seite im Internet Explorer bleibt leer

Wenn man mit aspx (zum Beispiel C#) eine Datei zum Download ausliefern will, kann es vorkommen, dass im Firefox folgende Meldung erscheint:

XML-Verarbeitungsfehler: Kein Element gefunden

Adresse: http://xyz/download.aspx

Zeile Nr. 1, Spalte 1:

^

Während im Internet Explorer die Seite einfach komplett leer/weiß bleibt.

Folgende zwei Ansätze sind meist der Grund für diesen Fehler.

#1 – Fehlender ASP-Dokumentenheader in der aspx-Datei

<%@ Page Language=“C#“ AutoEventWireup=“true“ CodeFile=“download.aspx.cs“ Inherits=“download“ %>

Wenn die obige Zeile nicht in der aspx-Datei enthalten ist (Dateiname der Codedatei und Name des dortigen Namespaces entsprechend anpassen), weil man ja keinen Inhalt der aspx-Datei im binären Downloadstream haben will, dann führt ASP die vielleicht vorhandene Codedatei gar nicht erst aus. Um dies zu lösen, muss man also einfach nur die obige Zeile einfügen und anpassen.

#2 – Dateipfad falsch oder keine Berechtigungen für den aktuellen User des IIS

Kommt die Meldung im Firefox auch dann noch, deutet dies darauf hin, dass die herunter zu ladende Datei vom System nicht gefunden werden konnte.

Dies kommt jedoch ausschließlich dann vor, wenn man mittels folgender Befehle die Response-Header löscht und den Browser anweist einen bestimmten Dateityp zu erwarten (im folgenden Beispiel PDF).

protected void Page_Load(object sender, EventArgs e)

{

FileInfo file = new FileInfo(@“C:DatenmeinePDFdownload.pdf“);

Response.ClearContent();

Response.ClearHeaders();

Response.ContentType = „Application/pdf“;

Response.AddHeader(„Content-Disposition“, „inline;filename=test.pdf“);

try {

Response.AppendHeader(„Content-Length“, file.Length.ToString());

Response.WriteFile(file.FullName);

Response.Flush();

Response.Close();

} catch (Exception ex) {

Response.ClearContent();

}

}

Man sollte also nochmals manuell prüfen, ob die Datei überhaupt vorhanden und zugänglich ist.

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert

Diese Website verwendet Akismet, um Spam zu reduzieren. Erfahre mehr darüber, wie deine Kommentardaten verarbeitet werden.