@贫民窟大侠: 这是全部代码
private void button1_Click(object sender, EventArgs e)
{
try
{
string filepath = @"E:\C#Test\Test2\";
string FTPfilepath = "ftp://192.168.1.1/TestXML/";
string ftpUserName = "xx";
string ftpPassWord = "xx";
StringBuilder xmlResult = new StringBuilder();
#region 拼接上传XML
xmlResult.Append("<?xml version=\"1.0\" encoding=\"utf-8\"?> \r\n");
xmlResult.Append("");
//设置文件名称
string filename = DateTime.Now.ToString("yyyyMMddHHmmss");
using (StreamWriter sw = new StreamWriter(filepath + filename + ".xml", false, Encoding.GetEncoding("utf-8")))
{
sw.Write(xmlResult);
sw.Close();
}
#region 获取本地文件夹下所有文件名称
DirectoryInfo di = new DirectoryInfo(filepath);
//获取子文件夹列表
di.GetDirectories();
//获取文件列表
di.GetFiles();
for (int i = 0; i < di.GetFiles().Length; i++)
{
UpFileToFTP(ftpUserName, ftpPassWord, filepath + di.GetFiles()[i].ToString(), FTPfilepath + di.GetFiles()[i].ToString());
}
}
catch (Exception ex)
{
throw ex;
}
}
///
/// 上传文件到FTP实现
///
/// FTP用户名
/// FTP密码
/// 文件本地路径
/// 文件FTP路径
public void UpFileToFTP(string ftpUser, string ftpPassWord, string filePath, string FTPfilePath)
{
WebClient request = new WebClient();
request.Credentials = new NetworkCredential(ftpUser, ftpPassWord);
FileStream myStream = new FileStream(filePath, FileMode.Open, FileAccess.Read);
byte[] dataByte = new byte[myStream.Length];
myStream.Read(dataByte, 0, dataByte.Length); //写到2进制数组中
myStream.Close();
Uri uri = new Uri(FTPfilePath);
request.UploadDataAsync(uri, "STOR", dataByte, dataByte);
}