public void Upload3(string path,string filename) { FtpWebRequest ftpWebRequest = (FtpWebRequest)WebRequest.Create("ftp://ftpserver/" + filename); ftpWebRequest.Method = WebRequestMethods.Ftp.UploadFile; //这个属性设置关系不大,主要看实际上传文件的代码是怎么写的。 ftpWebRequest.UseBinary = true; ftpWebRequest.KeepAlive = false; // ftpWebRequest.Credentials = new NetworkCredential("登录用户名", "登录密码"); FileStream fs = File.OpenRead(path); int size = 2048; byte[] buffer = new byte[size]; Stream stream = ftpWebRequest.GetRequestStream(); int dataReader; do { dataReader = fs.Read(buffer, 0, size); stream.Write(buffer, 0, dataReader); } while (dataReader == size); stream.Close(); fs.Close(); FtpWebResponse ftpWebResponse = (FtpWebResponse)ftpWebRequest.GetResponse(); Console.Write("上传文件完成,状态:" + ftpWebResponse.StatusDescription); ftpWebResponse.Close(); }
//上传二进制文件 public void Upload2(string path, string filename) { FtpWebRequest ftpWebRequest = (FtpWebRequest)WebRequest.Create("ftp://192.168.1.105/" + filename); ftpWebRequest.Method = WebRequestMethods.Ftp.UploadFile; //这个属性设置关系不大,主要看实际上传文件的代码是怎么写的。 ftpWebRequest.UseBinary = true; ftpWebRequest.KeepAlive = false; // ftpWebRequest.Credentials = new NetworkCredential("登录用户名", "登录密码"); BinaryReader br = new BinaryReader(File.OpenRead(path), Encoding.UTF8); int size = 1024; byte[] buffer = br.ReadBytes(size); BinaryWriter bw = new BinaryWriter(ftpWebRequest.GetRequestStream()); while (buffer.Length > 0) { bw.Write(buffer); buffer = br.ReadBytes(size); } bw.Close(); br.Close(); FtpWebResponse ftpWebResponse = (FtpWebResponse)ftpWebRequest.GetResponse(); Console.Write("上传文件完成,状态:" + ftpWebResponse.StatusDescription); ftpWebResponse.Close(); }
/// <summary> /// /// </summary> /// <param name="path">本地文件路径</param> /// <param name="uploadFileName">上传到ftp server后的文件名</param> /// <returns></returns> public bool Upload(string path, string uploadFileName) { string url = "ftp://ftpserver/" + uploadFileName; if (!Conn(url)) { return false; } request.Method = WebRequestMethods.Ftp.UploadFile; //Encoding.Default:获取当前操作系统ANSI代码页的编码。以避免中文乱码。 StreamWriter sw = new StreamWriter(request.GetRequestStream(),Encoding.Default); StreamReader sr = new StreamReader(path,Encoding.Default); sw.Write(sr.ReadToEnd()); sr.Close(); sw.Close(); FtpWebResponse ftpWebResponse = (FtpWebResponse)request.GetResponse(); Console.WriteLine(ftpWebResponse.StatusDescription); return true; }
ftp upload
最新推荐文章于 2021-07-05 15:11:21 发布