zoukankan      html  css  js  c++  java
  • C#-FTP

     /// <summary>
            /// 上传文件
            /// </summary>
            /// <param name="fileinfo">需要上传的文件</param>
            /// <param name="targetDir">目标路径</param>
            /// <param name="hostname">ftp地址</param>
            /// <param name="username">ftp用户名</param>
            /// <param name="password">ftp密码</param>
            public void UploadFile(FileInfo fileinfo, string targetDir, string hostname, string username, string password,string Urlstr)
            {
                //1. check target
                //target = Guid.NewGuid().ToString();  //使用临时文件名
                string URI = Urlstr ;
                ///WebClient webcl = new WebClient();
                System.Net.FtpWebRequest ftp = GetRequest(URI, username, password);
    
                //设置FTP命令 设置所要执行的FTP命令,
                //ftp.Method = System.Net.WebRequestMethods.Ftp.ListDirectoryDetails;//假设此处为显示指定路径下的文件列表
                ftp.Method = System.Net.WebRequestMethods.Ftp.UploadFile;
                //指定文件传输的数据类型
                ftp.UseBinary = true;
                ftp.UsePassive = true;
    
                //告诉ftp文件大小
                ftp.ContentLength = fileinfo.Length;
                //缓冲大小设置为2KB
                const int BufferSize = 2048;
                byte[] content = new byte[BufferSize - 1 + 1];
                int dataRead;
    
                //打开一个文件流 (System.IO.FileStream) 去读上传的文件
                using (FileStream fs = fileinfo.OpenRead())
                {
                    try
                    {
                        //把上传的文件写入流
                        using (Stream rs = ftp.GetRequestStream())
                        {
                            do
                            {
                                //每次读文件流的2KB
                                dataRead = fs.Read(content, 0, BufferSize);
                                rs.Write(content, 0, dataRead);
                            } while (!(dataRead < BufferSize));
                            rs.Close();
                        }
    
                    }
                    catch (Exception ex) { }
                    finally
                    {
                        fs.Close();
                    }
                    SendOk = true;
                    listBox1.Items.Add("同步完成!" + fileinfo.Name + "---" + DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss"));
                    SendMessage(listBox1.Handle, WM_VSCROLL, SB_BOTTOM, 0);
                }
                ftp = null;
            }
    
    
    
    

  • 相关阅读:
    Oracle数据库ORA-12154: TNS: 无法解析指定的连接标识符详解
    Oracle Client客户端+PLSQL配置
    函数和存过的创建调用
    MVC学习二:基础语法
    前台和后台的相互传值
    MVC学习一:EF
    博客转发小工具2
    博客转发小工具1
    博客园页面设置
    js问题杂记
  • 原文地址:https://www.cnblogs.com/csnd/p/12062197.html
Copyright © 2011-2022 走看看