C#中FTP编程 远程服务器返回错误: (550) 文件不可用(例如,未找到文件,无法访问文件)
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了C#中FTP编程 远程服务器返回错误: (550) 文件不可用(例如,未找到文件,无法访问文件)相关的知识,希望对你有一定的参考价值。
C#语言,设计从服务器下载文件
FtpWebRequest reqFTP;
//filePath是文件创建后所在的完整路径
//fileName是所要创建的文件名
FileStream outputStream = new FileStream(filePath + "\\" + fileName, FileMode.Create);
reqFTP = (FtpWebRequest)FtpWebRequest.Create(new Uri("ftp://" + "192.168.0.1:9595" + "/AA/BB/" + "A.txt"));
reqFTP.Method = WebRequestMethods.Ftp.DownloadFile;
reqFTP.UseBinary = true;
reqFTP.Credentials = new NetworkCredential(ftpUserID, ftpPassword);
FtpWebResponse response = (FtpWebResponse)reqFTP.GetResponse();----------------报错
Stream ftpStream = response.GetResponseStream();
long cl = response.ContentLength;
int bufferSize = 2048;
int readCount;
byte[] buffer = new byte[bufferSize];
readCount = ftpStream.Read(buffer, 0, bufferSize);
while (readCount > 0)
outputStream.Write(buffer, 0, readCount);
readCount = ftpStream.Read(buffer, 0, bufferSize);
ftpStream.Close();
outputStream.Close();
response.Close();
以上程序是网络编程书籍中的源代码按理不会错,下载文件会抱 “远程服务器返回错误: (550) 文件不可用(例如,未找到文件,无法访问文件)” 错误。但是用迅雷工具中FTP工具可以下载,用自己电脑输入FTP服务器也可以使用。网上搜了还是解决不了
reqFTP = (FtpWebRequest)FtpWebRequest.Create(new Uri("ftp://" + "192.168.0.1:9595" + "/AA/BB/" + "A.txt"));
这两个FTP的路径要转义的,也就是前面要加@,没有加的话自然路径不对,试试:
FileStream outputStream = new FileStream(@filePath + "\\" + fileName, FileMode.Create);
reqFTP = (FtpWebRequest)FtpWebRequest.Create(new Uri(@"ftp://" + "192.168.0.1:9595" + "/AA/BB/" + "A.txt"));
以上是关于C#中FTP编程 远程服务器返回错误: (550) 文件不可用(例如,未找到文件,无法访问文件)的主要内容,如果未能解决你的问题,请参考以下文章
ftp应用程序出错:"远程服务器返回错误:(550)文件不可用(例如,未找到文件,无法访问文件)"