不如用批处理文件,呵呵。
ftp -n -s:fn.txt 10.10.10.16 fn.txt内容:
user ftp帐号
密码
put 本地路径 服务器路径
bye
ftp -n -s:fn.txt 10.10.10.16 fn.txt内容:
user ftp帐号
密码
put 本地路径 服务器路径
bye
解决方案 »
- 求助~用C#语言做模糊查询
- 麻烦帮我看看这个递归为什么只取了第一层的数据。!
- 如何让程序第一个运行
- 在WebBrowser中,如何模拟点击Div类型的对话框?
- JavaScript清空.net控件DropDownList内容
- oracle 中tble明明存在 却报错“表或视图不存在”
- 关于MessageBox.Show显示的问题
- LNK1104:无法打开文件'mfc90.lib“
- 高分求一个NHibernate模板,要求能生成实体类和Xml,包含一对多,多对多关系
- C# 我只要读取一个文件的前十来个字节的内容,为了效率,不要读多,读到byte[]里就好了,请问怎么办,有代码的,能运行的给95至100分
- 用C#写出一个导航栏的类(静态)
- Ping服务器
/// <summary>
/// Copy a file from FTP server to local
/// </summary>
/// <param name="sourceFilename">Target filename, if required </param>
/// <param name="localFilename">Full path of the local file </param>
/// <returns> </returns>
/// <res>Target can be blank (use same filename), or just a filename
/// (assumes current directory) or a full path and filename </res>
public bool Download(string sourceFilename, string localFilename, bool PermitOverwrite)
{
//2. determine target file
FileInfo fi = new FileInfo(localFilename);
return this.Download(sourceFilename, fi, PermitOverwrite);
} //Version taking an FtpFileInfo
public bool Download(FtpFileInfo file, string localFilename, bool permitOverwrite)
{
return this.Download(file.FullName, localFilename, permitOverwrite);
} //Another version taking FtpFileInfo and FileInfo
public bool Download(FtpFileInfo file, FileInfo localFI, bool permitOverwrite)
{
return this.Download(file.FullName, localFI, permitOverwrite);
} //Version taking string/FileInfo
public bool Download(string sourceFilename, FileInfo targetFI, bool permitOverwrite)
{
//1. check target
if (targetFI.Exists && !(permitOverwrite))
{
throw (new ApplicationException("Target file already exists"));
} //2. check source
string target;
if (sourceFilename.Trim() == "")
{
throw (new ApplicationException("File not specified"));
}
else if (sourceFilename.Contains("/"))
{
//treat as a full path
target = AdjustDir(sourceFilename);
}
else
{
//treat as filename only, use current directory
target = CurrentDirectory + sourceFilename;
} string URI = Hostname + target; //3. perform copy
System.Net.FtpWebRequest ftp = GetRequest(URI); //Set request to download a file in binary mode
ftp.Method = System.Net.WebRequestMethods.Ftp.DownloadFile;
ftp.UseBinary = true; //open request and get response stream
using (FtpWebResponse response = (FtpWebResponse)ftp.GetResponse())
{
using (Stream responseStream = response.GetResponseStream())
{
//loop to read & write to file
using (FileStream fs = targetFI.OpenWrite())
{
try
{
byte[] buffer = new byte[2048];
int read = 0;
do
{
read = responseStream.Read(buffer, 0, buffer.Length);
fs.Write(buffer, 0, read);
} while (!(read == 0));
responseStream.Close();
fs.Flush();
fs.Close();
}
catch (Exception)
{
//catch error and delete file only partially downloaded
fs.Close();
//delete target file as it's incomplete
targetFI.Delete();
throw;
}
} responseStream.Close();
} response.Close();
}
return true;
}
#endregion