2010-03-17 16 views
3

Le code ci-dessous fonctionne très bien pour le téléchargement d'un fichier à partir d'un courant pc.plz me suggérer comment le télécharger depuis un serveur distant en utilisant l'adresse IP ou toute autre méthodecomment télécharger un fichier depuis un serveur distant en utilisant asp.net

protected void Button1_Click(object sender, EventArgs e) 
{ 
    const string fName = @"C:\ITFSPDFbills\February\AA.pdf"; 
    FileInfo fi = new FileInfo(fName); 
    long sz = fi.Length; 

    Response.ClearContent(); 
    Response.ContentType = MimeType(Path.GetExtension(fName)); 
    Response.AddHeader("Content-Disposition", string.Format("attachment; filename = {0}", System.IO.Path.GetFileName(fName))); 
    Response.AddHeader("Content-Length", sz.ToString("F0")); 
    Response.TransmitFile(fName); 
    Response.End(); 
} 

public static string MimeType(string Extension) 
{ 
    string mime = "application/octetstream"; 
    if (string.IsNullOrEmpty(Extension)) 
     return mime; 

    string ext = Extension.ToLower(); 
    Microsoft.Win32.RegistryKey rk = Microsoft.Win32.Registry.ClassesRoot.OpenSubKey(ext); 
    if (rk != null && rk.GetValue("Content Type") != null) 
     mime = rk.GetValue("Content Type").ToString(); 
    return mime; 
} 
+1

Rechercher u p la classe WebRequest. –

Répondre

-1

Vous pouvez utiliser HttpWebRequest, comme ceci:

 Uri uri = new Uri(""); // Here goes uri to the file. 
     HttpWebRequest webRequest = (HttpWebRequest)WebRequest.Create(uri); 

     using (HttpWebResponse webResponse = (HttpWebResponse)webRequest.GetResponse()) 
     { 
      using (StreamReader reader = new StreamReader(webResponse.GetResponseStream())) 
      { 
       // Process response. 
      } 
     } 
3

il serait plus facile de le faire comme ceci:

WebClient webClient = new WebClient(); 
webClient.DownloadFile(remoteFileUrl, localFileName); 
Questions connexes