c# 从ftp下载文件到本地指定位置
嗯,大侠们,小弟的智商实在不行了,当你们看到这个问题时,一定要予以解答啊,谢谢!!我所采用的是.net2.0程序需要实现下列功能:定位到FTP(比如ftp://baidu...
嗯,大侠们,小弟的智商实在不行了,当你们看到这个问题时,一定要予以解答啊,谢谢!!
我所采用的是.net 2.0
程序需要实现下列功能:
定位到FTP(比如ftp://baidu.com),用户名为user,密码为user。打开FTP中的文件夹(比如2010)。假设该文件夹下面有4个文件 1.exe,2.exe,3.exe,4.exe。我们要把他们下载到本机的D:\Temp文件夹中。但我们本地文件夹已经有了1.exe。所以我们的程序必须要验证是否文件重复并最终下载。(最好能够按照2.exe 3.exe 4.exe的修改时间依次下载)。下载完成一个文件之后,程序能够知道并且发出指令访问(或运行)该文件。
先给50分,以后再不断加。
不要拷贝啊,关于这个的问题我全看过了。 展开
我所采用的是.net 2.0
程序需要实现下列功能:
定位到FTP(比如ftp://baidu.com),用户名为user,密码为user。打开FTP中的文件夹(比如2010)。假设该文件夹下面有4个文件 1.exe,2.exe,3.exe,4.exe。我们要把他们下载到本机的D:\Temp文件夹中。但我们本地文件夹已经有了1.exe。所以我们的程序必须要验证是否文件重复并最终下载。(最好能够按照2.exe 3.exe 4.exe的修改时间依次下载)。下载完成一个文件之后,程序能够知道并且发出指令访问(或运行)该文件。
先给50分,以后再不断加。
不要拷贝啊,关于这个的问题我全看过了。 展开
展开全部
我就给了个1.exe的下载,其它的做循环可以解决
FTP下载
/*
using System.IO;
private Stream stream = null;
private StreamReader reader = null;
private FileInfo f= null;
private StreamWriter writer = null;
private char[] c =null;
*/
f = new FileInfo(@"D:\Temp\1.exe");
if(f.Exists() && MessageBox.show("文件已存在,是否重新下载?", "打、打、打劫",MessageBoxButtons.OKCancel, MessageBoxIcon.Information, MessageBoxDefaultButton.Button1)==DialogResult.Cancel)
return;
try
{
FtpWebRequest ftpRequest = (FtpWebRequest)WebRequest.Create("ftp://baidu.com/2010/1.exe");
ftpRequest.Credentials = new NetworkCredential("user", "user");
ftpRequest.Method = WebRequestMethods.Ftp.DownloadFile;
FtpWebResponse ftpResponse = (FtpWebResponse)ftpRequest.GetResponse();
stream = ftpResponse.GetResponseStream();
reader = new StreamReader(stream, Encoding.Default);
writer = f.CreateText();
while (reader.Peek() >= 0)
{
//This is an arbitrary size for this example.
char[] c = new char[5120];
reader.Read(c, 0, c.Length);
writer.Write(c);
}
writer.Flush();
}
catch
{
return "读取FTP文件失败";
}
finally
{
if (reader != null) { reader.Close(); }
if (stream != null) { stream.Close(); }
if (writer != null) { writer.Close(); }
}
FTP下载
/*
using System.IO;
private Stream stream = null;
private StreamReader reader = null;
private FileInfo f= null;
private StreamWriter writer = null;
private char[] c =null;
*/
f = new FileInfo(@"D:\Temp\1.exe");
if(f.Exists() && MessageBox.show("文件已存在,是否重新下载?", "打、打、打劫",MessageBoxButtons.OKCancel, MessageBoxIcon.Information, MessageBoxDefaultButton.Button1)==DialogResult.Cancel)
return;
try
{
FtpWebRequest ftpRequest = (FtpWebRequest)WebRequest.Create("ftp://baidu.com/2010/1.exe");
ftpRequest.Credentials = new NetworkCredential("user", "user");
ftpRequest.Method = WebRequestMethods.Ftp.DownloadFile;
FtpWebResponse ftpResponse = (FtpWebResponse)ftpRequest.GetResponse();
stream = ftpResponse.GetResponseStream();
reader = new StreamReader(stream, Encoding.Default);
writer = f.CreateText();
while (reader.Peek() >= 0)
{
//This is an arbitrary size for this example.
char[] c = new char[5120];
reader.Read(c, 0, c.Length);
writer.Write(c);
}
writer.Flush();
}
catch
{
return "读取FTP文件失败";
}
finally
{
if (reader != null) { reader.Close(); }
if (stream != null) { stream.Close(); }
if (writer != null) { writer.Close(); }
}
展开全部
using System.Diagnostics;
private void button1_Click(object sender, EventArgs e)
{
string YuMing = textBox1.Text.Trim();//输入FTP地址用的!
Process.Start("iexplore","ftp://"+YuMing );
}
你不用想的那么复杂!系统自带的FTP你为什么不用呢?这样还好点!
试试哈!
private void button1_Click(object sender, EventArgs e)
{
string YuMing = textBox1.Text.Trim();//输入FTP地址用的!
Process.Start("iexplore","ftp://"+YuMing );
}
你不用想的那么复杂!系统自带的FTP你为什么不用呢?这样还好点!
试试哈!
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询