我必须使用c#代码从ftp下载zip文件。 我已经使用了下面的代码。如何从Ftp下载Zip文件#
Uri url = new Uri("ftp://ftpurl");
if (url.Scheme == Uri.UriSchemeFtp)
{
FtpWebRequest objRequest = (FtpWebRequest)FtpWebRequest.Create(url);
//Set credentials if required else comment this Credential code
NetworkCredential objCredential = new NetworkCredential(userid, Pwd);
objRequest.Credentials = objCredential;
objRequest.Method = WebRequestMethods.Ftp.DownloadFile;
FtpWebResponse objResponse = (FtpWebResponse)objRequest.GetResponse();
StreamReader objReader = new StreamReader(objResponse.GetResponseStream());
byte[] buffer = new byte[16 * 1024];
int len = 0;
FileStream objFS = new FileStream(@"E:\ftpwrite", FileMode.Create, FileAccess.Write, FileShare.Read);
while ((len = objReader.BaseStream.Read(buffer, 0, buffer.Length)) != 0)
{
objFS.Write(buffer, 0, len);
}
objFS.Close();
objResponse.Close();
}
但是这个代码不给我正确的反应,我想保存从FTP文件和该代码是从文件中的字节写入数据到我的文件。 我的文件是一个zip文件而不是文本文件。 请帮助我该怎么做,或者我误解了。
为什么您使用'StreamReader'?你不直接从它读取 - 只能从它的'BaseStream'中读取。为什么不使用流? –
你需要更具体一些,“不给我正确答案”还不够清楚。出了什么问题?你没有得到完整的文件吗? – ryadavilli
我不确定我是否正确理解问题,但您是否尝试了E:\ ftpwrite.zip? –