tanweer Ответов: 1

скачать xml-файл с помощью asp.net


всем привет,

Я создал xml-файл с помощью c# и могу сохранить его в любом месте моей машины (в этой ситуации я сохранил его в корневом каталоге приложения с именем "temp.xml"), но я хочу, чтобы пользователь мог загрузить его из своего браузера, дав ссылку типа-->
"нажмите <a href="temp.xml" target="_blank">здесь</a> чтобы загрузить файл."

В Chrome и FireFox он показывает новую вкладку только с некоторыми значениями в моей части тела xml-файла, но IE показывает весь xml. Я хочу загрузить его в свою папку загрузки, когда кто-нибудь нажмет на приведенную выше ссылку.

заранее спасибо за Вашу поддержку.

1 Ответов

Рейтинг:
8

Mukund Thakker

XML-файл не может быть открыт напрямую. вы должны написать следующий код, чтобы сохранить его в локальной системе.

<asp:linkbutton id="lb_DownloadXML" runat="server" text="Download file" onclick="lb_DownloadXML_Click" xmlns:asp="#unknown"></asp:linkbutton>


protected void lb_DownloadXML_Click(object sender, EventArgs e)
    {
        string strFullPath = Server.MapPath("~/temp.xml");        
        string strContents = null;
        System.IO.StreamReader objReader = default(System.IO.StreamReader);
        objReader = new System.IO.StreamReader(strFullPath);
        strContents = objReader.ReadToEnd();
        objReader.Close();

        string attachment = "attachment; filename=test.xml";
        Response.ClearContent();
        Response.ContentType = "application/xml";
        Response.AddHeader("content-disposition", attachment);
        Response.Write(strContents);
        Response.End();        
    }


Надеюсь, это вам поможет...


tanweer

Спасибо за отличный ответ.