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传送文件的资料请关注毛票票其它相关文章!