2014-10-27 46 views
-1

你好我怎样才能在我们的代码中的驱动程序地址我们的服务器替换我们的FTP?如何从代码连接到ftp

string[] filePaths = Directory.GetFiles(@"c:\MyDir\", "*.bmp"); 

例如:

string[] filePaths = Directory.GetFiles(@"our ftp address", "*.bmp"); 

第一代码运行良好但第二心不是工作!? TNX

+0

您正在使用'ftp://'?如果是这样你不能使用'Directory.GetFiles()'请参阅[如何:使用FTP列出目录内容](http://msdn.microsoft.com/en-us/library/ms229716.aspx) – 2014-10-27 13:18:48

+0

可能的重复[How在C#中使用FTP列出目录内容?](http://stackoverflow.com/questions/3298922/how-to-list-directory-contents-with-ftp-in-c) – CodeCaster 2014-10-27 14:29:46

回答

1

来自实例http://msdn.microsoft.com/en-us/library/system.net.ftpwebrequest.aspx DisplayFileFromServer(你的bmp文件)

`public static bool DisplayFileFromServer(Uri serverUri) 
{ 
    // The serverUri parameter should start with the ftp:// scheme. 
    if (serverUri.Scheme != Uri.UriSchemeFtp) 
    { 
     return false; 
    } 
    // Get the object used to communicate with the server. 
    WebClient request = new WebClient(); 
    request.Credentials = new NetworkCredential ("anonymous","[email protected]"); 
    try 
    { 
     byte [] newFileData = request.DownloadData (serverUri.ToString()); 
     string fileString = System.Text.Encoding.UTF8.GetString(newFileData); 
     Console.WriteLine(fileString); 
    } 
    catch (WebException e) 
    { 
     Console.WriteLine(e.ToString()); 
    } 
    return true; 
}` 
0

这套短节目将使用由ListDirectoryDe​​tails方法的FTP服务器列表中的文件和目录。还有一个ListDirectory方法将只列出名称。

using System; 
using System.Net; 
using System.IO; 

namespace ConsoleApplication1 
{ 
    class Program 
    { 
     static void Main(string[] args) 
     { 
      WebRequest ftp = FtpWebRequest.Create("ftp://ftp.ed.ac.uk/"); 
      ftp.Method = WebRequestMethods.Ftp.ListDirectoryDetails; 
      using (WebResponse rsp = ftp.GetResponse()) 
      { 
       using (StreamReader reader = new StreamReader(rsp.GetResponseStream())) 
       { 
        Console.WriteLine(reader.ReadToEnd()); 
       } 
      } 
     } 
    } 
}