Wie lassen Sie den Benutzer zum herunterladen einer xml-Datei

Was ich tun möchte, ist, dass der Benutzer wählt einige Felder auf einem Gitter, und nach diesen Daten erstelle ich eine xml-Datei auf dem web-server und dann möchte ich, dass Benutzer herunterladen, um es wie das herunterladen einer beliebigen Datei. Aber das problem ist, ich kann diesen code verwenden:

Response.ContentType = "APPLICATION/OCTET-STREAM";

        //initialize the http content-disposition header to
        //indicate a file attachment with the default filename
        //"myFile.txt"
        System.String disHeader = "Attachment; Filename=\"" + fileName +
           "\"";
        Response.AppendHeader("Content-Disposition", disHeader);
        FileInfo downloadFile = new FileInfo(fileFullName);
        if (downloadFile.Exists)
        {
            Response.WriteFile(downloadFile.FullName);
            HttpContext.Current.ApplicationInstance.CompleteRequest();
        }

Weil ich Sie brauche, damit der Benutzer laden Sie 3 Dateien, damit der header nicht cary es, was ich tought war immer den Dateinamen und öffnen Sie ein popup-Liste werden die Datei Namen mit einem linkbutton, und dann werden die user es downloaden können.

Für jede Datei, die ich erstellen Sie einen linkbutton zur Laufzeit und das hinzufügen dieser code :

lnkProblem.Text = "Problemler dosyası";
    lnkProblem.Visible = true;
    lnkProblem.Command += new CommandEventHandler(lnkUser_Command);
    lnkProblem.CommandName = Request.QueryString["fileNameProblems"];
    lnkProblem.CommandArgument = Request.QueryString["fileNameProblems"];

Dann verwenden Sie diese Funktion, um es herunterladen durch den Benutzer :

void lnkUser_Command(object sender, CommandEventArgs e)
{
    Response.ContentType = "APPLICATION/XML";

    System.String disHeader = "Attachment; Filename=\"" + e.CommandArgument.ToString() +
       "\"";
    Response.AppendHeader("Content-Disposition", disHeader);
    FileInfo downloadFile = new FileInfo(Server.MapPath(".") + "\\xmls\\" + e.CommandArgument.ToString());
    if (downloadFile.Exists)
    {
        Response.WriteFile(Server.MapPath(".") + "\\xmls\\" + e.CommandArgument.ToString());
        HttpContext.Current.ApplicationInstance.CompleteRequest();
    }
    HttpContext.Current.ApplicationInstance.CompleteRequest();
}

Anwendung wird die xml-Datei, sondern irgendwo von es, die app stellt die html-tags in die xml-Datei so kann ich die Datei nicht öffnen, gibt es trotzdem, dies zu tun? Vielleicht ist jedes andere Beispiel...

InformationsquelleAutor mehmetserif | 2009-02-25
Schreibe einen Kommentar