santhu888 Ответов: 2

Скачать файл с сервера на клиент в asp.net с#


string path = (@"D:\Doc\Offer letter.pdf"); //get physical file path from server
    string name = Path.GetFileName(path); //get file name
    string ext = Path.GetExtension(path); //get file extension
    string type = "";

    // set known types based on file extension
    if (ext != null)
    {
        switch (ext.ToLower())
        {
            case ".htm":
            case ".html":
                type = "text/HTML";
                break;

            case ".txt":
                type = "text/plain";
                break;

            case ".GIF":
                type = "image/GIF";
                break;

            case ".pdf":
                type = "Application/pdf";
                break;

            case ".doc":
            case ".rtf":
                type = "Application/msword";
                break;
        }
    }

    Response.AppendHeader("content-disposition", "attachment; filename=" + name);

    if (type != "")
        Response.ContentType = type;
    Response.WriteFile(path);

    Response.End(); //give POP to user for file downlaod



у меня есть этот код для загрузки файла с сервера на клиент. Но этот код еще не все показывает любое окно dailogue для doanload и save.Пожалуйста, кто-нибудь, помогите мне.

Nirav Prabtani

Ваш код работает нормально. Я это проверил.

2 Ответов

Рейтинг:
13

RajeeshMenoth

вы можете использовать этот код...

 protected void lnkfilepath_Click(object sender, EventArgs e) // ur link button 
 {   
     string filename = lnkfilepath.Text;
     string Filpath = Server.MapPath("~/Attachments/" + filename);
     DownLoad(Filpath);     }
     public void DownLoad(string FName){ 
     string path = FName;  
     System.IO.FileInfo file = new System.IO.FileInfo(path);   
     if (file.Exists)  {   
     Response.Clear();  
     Response.AddHeader("Content-Disposition", "attachment; filename=" + file.Name);                         Response.AddHeader("Content-Length", file.Length.ToString()); 
     Response.ContentType = "application/octet-stream"; // download […]
}


Рейтинг:
0

Suresh Madhavaraju

Хотя сообщение очень старое, отправка для любого нового пользователя, имеющего такую же проблему:

Если ваша проблема заключается просто в том, что вы "не получаете диалоговое окно", то оно зависит от браузера, и если оно уже проверено как "не спрашивайте снова", то оно больше не появится. Вам не нужно беспокоиться об этом.

Тот же код может загрузить файлы для другого пользователя с помощью диалогового окна с кнопкой Сохранить. Проверьте это в другом браузере ie. Chrome и Firefox.