C#实现FTP传送文件的示例
简介:
接上文实现对FTP的传送文件,此文和上文可以说是如出一辙,不过此文是通过cmd进行建立连接的,建立连接后也是通过以下几个步骤实现操作。建立文件的层级结构如上文,这里就不啰嗦了。C#实现FTP上传资料
1.主方法进行调用:
this.ftpOperation.UploadFile(vIMSPath,vUID,vPassword,vLocalPath+"/"+txtFile,txtFile);
2.ftpOperation.cs文件中的实现操作方法
2.1主方法中调用的方法:
publicvoidUploadFile(stringvPath,stringvUID,stringvPassword,stringvLocalPath,stringfile)
{
boolstatus=false;
//
status=connectState(vPath,vUID,vPassword);//通过cmd进行建立连接
if(status)
{
DirectoryInfotheFolder=newDirectoryInfo(vPath+"/"+file);
stringfilename=vLocalPath;
Transport(vLocalPath,vPath+"/"+file);//传送文件
System.Diagnostics.Process.Start(vPath);
}
else
{
MessageBox.Show("未能连接!");
}
}
2.2通过调用cmd进行建立连接:
publicstaticboolconnectState(stringvPath,stringvUID,stringvPassword)
{
boolFlag=false;
Processproc=newProcess();
try
{
proc.StartInfo.FileName="cmd.exe";
proc.StartInfo.UseShellExecute=false;
proc.StartInfo.RedirectStandardInput=true;
proc.StartInfo.RedirectStandardOutput=true;
proc.StartInfo.RedirectStandardError=true;
proc.StartInfo.CreateNoWindow=true;
proc.Start();
stringdosLine="netuse"+vPath+""+vPassword+"/user:"+vUID;
proc.StandardInput.WriteLine(dosLine);
proc.StandardInput.WriteLine("exit");
while(!proc.HasExited)
{
proc.WaitForExit(1000);
}
stringerrormsg=proc.StandardError.ReadToEnd();
proc.StandardError.Close();
if(string.IsNullOrEmpty(errormsg))
{
Flag=true;
}
else
{
thrownewException(errormsg);
}
}
catch(Exceptionex)
{
//throwex;
MessageBox.Show(ex.Message);
}
finally
{
proc.Close();
proc.Dispose();
}
returnFlag;
}
2.3传送文件:
publicstaticvoidTransport(stringsrc,stringfileName)
{
FileStreaminFileStream=newFileStream(src,FileMode.Open);
//if(!Directory.Exists(dst))
//{
//Directory.Move(src,dst);
//}
FileStreamoutFileStream=newFileStream(fileName,FileMode.OpenOrCreate);
byte[]buf=newbyte[inFileStream.Length];
intbyteCount;
while((byteCount=inFileStream.Read(buf,0,buf.Length))>0)
{
outFileStream.Write(buf,0,byteCount);
}
inFileStream.Flush();
inFileStream.Close();
outFileStream.Flush();
outFileStream.Close();
File.Delete(src);//删除本地文件
}
以上就是C#实现FTP传送文件的示例的详细内容,更多关于c#ftp传送文件的资料请关注毛票票其它相关文章!