Code
/// <summary>
/// 向FTP上传文件
/// </summary>
/// <param name="FtpName">账户</param>
/// <param name="FtpPassword">密码</param>
/// <param name="FtpUrl">地址</param>
/// <param name="root">XML对象</param>
private static void UpLoadFile(string FtpName, string FtpPassword, Uri FtpUrl, XElement root)
{
FtpWebRequest request = (FtpWebRequest)WebRequest.Create(FtpUrl);
request.Credentials = new NetworkCredential(FtpName, FtpPassword);
request.KeepAlive = false;
request.Method = WebRequestMethods.Ftp.UploadFile;
//创建一条内存流
MemoryStream fileStream = new MemoryStream();
StreamWriter sw = new StreamWriter(fileStream);
root.Save(sw);
sw.Write(fileStream);
try
{
var buffer = new byte[20480];
int conlen = fileStream.Read(buffer, 0, 20480);
Stream stream = request.GetRequestStream();
foreach (var item in fileStream.ToArray())
{
stream.WriteByte(item);
}
stream.Close();
fileStream.Close();
}
catch (Exception e)
{
throw;
}
}
/// <summary>
/// 向FTP上传文件
/// </summary>
/// <param name="FtpName">账户</param>
/// <param name="FtpPassword">密码</param>
/// <param name="FtpUrl">地址</param>
/// <param name="root">XML对象</param>
private static void UpLoadFile(string FtpName, string FtpPassword, Uri FtpUrl, XElement root)
{
FtpWebRequest request = (FtpWebRequest)WebRequest.Create(FtpUrl);
request.Credentials = new NetworkCredential(FtpName, FtpPassword);
request.KeepAlive = false;
request.Method = WebRequestMethods.Ftp.UploadFile;
//创建一条内存流
MemoryStream fileStream = new MemoryStream();
StreamWriter sw = new StreamWriter(fileStream);
root.Save(sw);
sw.Write(fileStream);
try
{
var buffer = new byte[20480];
int conlen = fileStream.Read(buffer, 0, 20480);
Stream stream = request.GetRequestStream();
foreach (var item in fileStream.ToArray())
{
stream.WriteByte(item);
}
stream.Close();
fileStream.Close();
}
catch (Exception e)
{
throw;
}
}