FtpServerIP:FTPIP。FtpUser:登录名。FtpPsw:密码。bytes:流文件。filename:文件名称。
public bool UploadFileAndroid(String FtpServerIP, String FtpUser, String FtpPsw, byte[] bytes, String filename, out String oErrMessage)
{
oErrMessage = null;
//FTP目录
String FTPDirectory;
try
{
//连接FTP
FTPUtil ftpUtil = new FTPUtil(FtpServerIP, "", FtpUser, FtpPsw);
FTPDirectory="20191008";//文件的存放路径
//文件路径
ftpUtil.GotoDirectory(FTPDirectory,true);
FtpWebRequest frequest = null;
if (!ftpUtil.FileExist_1(ftpUtil.ftpuri))
{
frequest = (FtpWebRequest)FtpWebRequest.Create(new Uri(ftpUtil.ftpuri));
frequest.Credentials = new NetworkCredential(FtpUser, FtpPsw);
frequest.Method = WebRequestMethods.Ftp.MakeDirectory;
FtpWebResponse response = frequest.GetResponse() as FtpWebResponse;
//frequest.KeepAlive = false;
}
FtpWebRequest frequest1 = (FtpWebRequest)FtpWebRequest.Create(new Uri(ftpUtil.ftpuri + "/" + filename));
frequest1.Credentials = new NetworkCredential(FtpUser, FtpPsw);
frequest1.KeepAlive = false;// 默认为true,连接不会被关闭 // 在一个命令之后被执行
//frequest.KeepAlive = false;
frequest1.Method = WebRequestMethods.Ftp.UploadFile;// 指定执行什么命令
frequest1.UseBinary = true;// 指定数据传输类型
frequest1.ContentLength = bytes.Length;// 上传文件时通知服务器文件的大小
Stream strm = frequest1.GetRequestStream();
strm.Write(bytes, 0, bytes.Length);
strm.Close();
return true;
}
catch(Exception ex)
{
oErrMessage = "错误信息" + oErrMessage+ ex.Message;
return false;
}
}