给你个最简单的:
WebClient webClient = new WebClient();
//string filename=this.openFileDialog1.SafeFileName;//.net2.0SP1以上语法
string filename = this.openFileDialog1.FileName.Substring(openFileDialog1.FileName.LastIndexOf(@"\") + 1);
webClient.UploadFile("ftp://用户名:密码@IP地址/" + filename, this.openFileDialog1.FileName);
需要用到一个组件了,如果不用的话好像只能传2到3M吧。