C#中FTP编程 远程服务器返回错误: (550) 文件不可用(例如,未找到文件,无法访问文件)
C#语言,设计从服务器下载文件FtpWebRequestreqFTP;//filePath是文件创建后所在的完整路径//fileName是所要创建的文件名FileStre...
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服务器也可以使用。网上搜了还是解决不了 展开
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服务器也可以使用。网上搜了还是解决不了 展开
3个回答
展开全部
直接debug看看,在哪行代码出错
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
FileStream outputStream = new FileStream(filePath + "\\" + fileName, FileMode.Create);
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"));
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"));
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询