using System;
using System.Collections.Generic;
using System.Configuration;
using System.Data;
using System.Data.SQLite;
using System.IO;
using System.Net;
using System.Reflection;
public class FTPHelper
{
private static readonly string ftpIp = ConfigurationManager.AppSettings["FtpIp"];
private static readonly string port = ConfigurationManager.AppSettings["Port"];
private static readonly string user = ConfigurationManager.AppSettings["User"];
private static readonly string passWord = ConfigurationManager.AppSettings["PassWord"];
/////
///// FTP的服务器地址,格式为ftp://192.168.1.234:8021/。
/////
//private string FTPCONSTR = ConfigurationManager.AppSettings["Test"];
/////
///// //FTP服务器的用户名
/////
//private string FTPUSERNAME { get; set; }
/////
///// //FTP服务器的密码
/////
//private string FTPPASSWORD { get; set; }
//public FTPHelper(string ip, string username, string password, string port = "21")
//{
// FTPCONSTR = string.Format("{0}://{1}:{2}/", "ftp", ip, port);
// FTPUSERNAME = username;
// FTPPASSWORD = password;
//}
#region 本地文件上传到FTP服务器
///
/// 上传文件到远程ftp
///
/// 本地的文件目录
/// 文件名称
///
public bool UploadFile(byte[] data,string fileName)
{
//FileInfo f = new FileInfo(path);
string path = string.Format("{0}://{1}:{2}/", "ftp", ftpIp, port) + fileName;//这个路径是我要传到ftp目录下的这个目录下
FtpWebRequest reqFtp = (FtpWebRequest)FtpWebRequest.Create(new Uri(path));
reqFtp.Method = WebRequestMethods.Ftp.UploadFile;
reqFtp.UsePassive = false;//只需要添加这一句话
reqFtp.UseBinary = true;
reqFtp.Credentials = new NetworkCredential(user, passWord);
reqFtp.KeepAlive = false;
reqFtp.Method = WebRequestMethods.Ftp.UploadFile;
reqFtp.ContentLength = data.Length;
int buffLength = 2048;
byte[] buff = new byte[buffLength];
int contentLen;
//FileStream fs = f.OpenRead();
try
{
Stream strm = reqFtp.GetRequestStream();
while (data.Length != 0)
{
strm.Write(data, 0, data.Length);
}
strm.Close();
return true;
}
catch (Exception ex)
{
return false;
}
}
#endregion
}