Ftp获取指定路径下文件夹和文件信息的方法:
public void GetFtpFilesInfo(string theuri, string ftpUser, string ftpPassWord)
{
Uri uri = new Uri("ftp://" + theuri); FtpWebRequest listRequest = (FtpWebRequest)WebRequest.Create(uri); listRequest.Method = WebRequestMethods.Ftp.ListDirectoryDetails;
//listRequest.Method = WebRequestMethods.Ftp.ListDirectory; listRequest.Credentials = new NetworkCredential(ftpUser, ftpPassWord); FtpWebResponse listResponse = (FtpWebResponse)listRequest.GetResponse(); //-------------------这里,当获取返回信息的时候就提示错误。
Stream responseStream = listResponse.GetResponseStream();
StreamReader readStream = new StreamReader(responseStream, System.Text.Encoding.Default); if (readStream != null)
{
MessageBox.Show(readStream.ReadToEnd());
} MessageBox.Show(string.Format("状态: {0},{1}", listResponse.StatusCode, listResponse.StatusDescription)); listResponse.Close();
responseStream.Close();
readStream.Close();}ftp创建文件夹的时候可以,但要判断文件夹是否重复的时候,我先获取信息,但返回接收的时候怎么就报错呢?报这个:
由于连接方在一段时间后没有正确答复或连接的主机没有反应,连接尝试失败。
设定了端口 ftp://***.***.*.**:21/ 貌似也不行...
public void GetFtpFilesInfo(string theuri, string ftpUser, string ftpPassWord)
{
Uri uri = new Uri("ftp://" + theuri); FtpWebRequest listRequest = (FtpWebRequest)WebRequest.Create(uri); listRequest.Method = WebRequestMethods.Ftp.ListDirectoryDetails;
//listRequest.Method = WebRequestMethods.Ftp.ListDirectory; listRequest.Credentials = new NetworkCredential(ftpUser, ftpPassWord); FtpWebResponse listResponse = (FtpWebResponse)listRequest.GetResponse(); //-------------------这里,当获取返回信息的时候就提示错误。
Stream responseStream = listResponse.GetResponseStream();
StreamReader readStream = new StreamReader(responseStream, System.Text.Encoding.Default); if (readStream != null)
{
MessageBox.Show(readStream.ReadToEnd());
} MessageBox.Show(string.Format("状态: {0},{1}", listResponse.StatusCode, listResponse.StatusDescription)); listResponse.Close();
responseStream.Close();
readStream.Close();}ftp创建文件夹的时候可以,但要判断文件夹是否重复的时候,我先获取信息,但返回接收的时候怎么就报错呢?报这个:
由于连接方在一段时间后没有正确答复或连接的主机没有反应,连接尝试失败。
设定了端口 ftp://***.***.*.**:21/ 貌似也不行...
但可以肯定的告诉你是,
你的代码没有任何问题,
你要考虑一下是不是FTP服务器权限没有配置好或是防火墙的问题?
MessageBox.Show(listResponse.StatusDescription);
创建成功后,能返回信息但检索文件夹怎么就不行呢?
没有目录列举权限,
你没说什么是用什么软件架设的FTP,
没法告诉怎么设置!
如果是IIS的话,
打开对应FTP的属性,选择主目录,有一项"读取"勾上即可.