ftp upload

      
 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;
        }












  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值