• <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>
            posts - 124,  comments - 29,  trackbacks - 0

            ftp上傳或下載過程中或提供一個事件,當上傳一定比特流的時候就觸發該事件,上傳的比特數可以在此事件處理函數中處理,上傳結束也會觸發一個事件。
            **********************************UpLoadFtp類************************************************
            {
                       private FTPClient ftp;
                        ftp.BytesTransferred += new BytesTransferredHandler(ftp_BytesTransferred);
                        ftp.TransferCompleteEx += new TransferHandler(ftp_TransferCompleteEx);


             public void MyUpload(String remotePath,String localfilepath,String remotefilename)
            {
                      
                        MyConnect();
                      
                         try
                        {
                            ftp.ChDir(remotePath);
                        }
                        catch (Exception ex)
                        {
                            MessageBox.Show(ex.Message,"提示信息");
                        }
                       
                         try
                        {
                            FileInfo fi = new FileInfo(localfilepath);

                            ftp.TransferNotifyInterval = (int)((double)fi.Length / (double)100);

                            ftp.Put(localfilepath,remotefilename);
                        }
                        catch (Exception ex)
                        {
                            MessageBox.Show(ex.Message, "提示信息");
                        }
            }




                    void ftp_TransferCompleteEx(object sender, TransferEventArgs e)
                    {
                        TransferComplete.Invoke(sender, e);
                    }

             

                    public event BytesTransferredHandler BytesTransferred;
                    public event TransferHandler TransferComplete;

                    void ftp_BytesTransferred(object sender, BytesTransferredEventArgs e)
                    {
                        BytesTransferred.Invoke(sender, e);
                    }
            }


            **************************調用上面類里的公有事件本類中加事件處理函數**************************
                    uploadFtp.BytesTransferred += new EnterpriseDT.Net.Ftp.BytesTransferredHandler(uploadFtp_BytesTransferred);
                    uploadFtp.TransferComplete += new EnterpriseDT.Net.Ftp.TransferHandler(uploadFtp_TransferComplete);
                    void uploadFtp_TransferComplete(object sender, EnterpriseDT.Net.Ftp.TransferEventArgs e)
                    {
                        if (this.checkIsFormat.Checked)
                        {
                            Random ran = new Random();
                            this.fileNewName = curtype + "#" + cursuppler + "#" + curnetName + "#"
                                               + comboFileType.SelectedItem.ToString()
                                               + "#" + DateTime.Now + "#" + ran + "#"
                                               + "1.src";
                            uploadFtp.ReName(remoteFileName, fileNewName);
                        }
                        progressBar1.Value = 0;
                        lbFtpMessage.ForeColor = Color.Red;
                        lbFtpMessage.Text = "上傳成功!";
                    }

                    void uploadFtp_BytesTransferred(object sender, EnterpriseDT.Net.Ftp.BytesTransferredEventArgs e)
                    {
                        this.progressBar1.Value = (int)(100 *((float)e.ByteCount / (float)localFileLength));

                        string str = String.Format("上傳進度: {0}%", progressBar1.Value);
                        lbFtpMessage.ForeColor = Color.Black;
                        lbFtpMessage.Text = str;
                        Application.DoEvents();
                    }
            ************************************************************************************************

              1using System;
              2using System.Collections.Generic;
              3using System.Windows.Forms;
              4using EnterpriseDT.Net.Ftp;
              5using System.Text;
              6using System.IO;
              7
              8namespace BurEmluator
              9{
             10    class UpLoadFile
             11    {
             12        private String serverIp;
             13        private String username;
             14        private String password;
             15        private FTPClient ftp;
             16        private long transferNotifyInterval;
             17
             18        public long TransferNotifyInterval
             19        {
             20            get return transferNotifyInterval; }
             21            set { transferNotifyInterval = value; }
             22        }

             23
             24        public UpLoadFile(string sip, string uname, string pwd)
             25        {
             26            this.serverIp = sip;
             27            this.username = uname;
             28            this.password = pwd;
             29            ftp = new FTPClient();
             30            ftp.BytesTransferred += new BytesTransferredHandler(ftp_BytesTransferred);
             31            ftp.TransferCompleteEx += new TransferHandler(ftp_TransferCompleteEx);
             32        }

             33
             34        void ftp_TransferCompleteEx(object sender, TransferEventArgs e)
             35        {
             36            TransferComplete.Invoke(sender, e);
             37        }

             38
             39
             40
             41        public event BytesTransferredHandler BytesTransferred;
             42        public event TransferHandler TransferComplete;
             43
             44        void ftp_BytesTransferred(object sender, BytesTransferredEventArgs e)
             45        {
             46            BytesTransferred.Invoke(sender, e);
             47        }

             48       
             49        public void MyUpload(String remotePath,String localfilepath,String remotefilename)
             50        {
             51            連接
             54            進入遠程目錄
             64            上傳
             78        }

             79        public void ReName(String upfilename,String newfilename)
             80        {
             81            try
             82            {
             83                ftp.Rename(upfilename, newfilename);
             84            }

             85            catch (Exception ex)
             86            {
             87                MessageBox.Show(ex.Message,"提示信息");
             88            }

             89        }

             90        private void MyConnect()
             91        {
             92            連接
            103            登陸
            113
            114            ftp.ConnectMode = FTPConnectMode.PASV;
            115            ftp.TransferType = FTPTransferType.BINARY;
            116        }

            117    }

            118}


              1using System;
              2using System.Collections.Generic;
              3using System.ComponentModel;
              4using System.Data;
              5using System.Drawing;
              6using System.Text;
              7using System.IO;
              8using System.Xml;
              9using System.Threading;
             10using System.Windows.Forms;
             11
             12namespace BurEmluator
             13{
             14    public partial class DataUpload : Form
             15    {
             16
             17        private List<NeInfoLocal> m_NeList;
             18        public List<NeInfoLocal> NeList
             19        {
             20            get
             21            {
             22                return m_NeList;
             23            }

             24            set
             25            {
             26                m_NeList = value;
             27            }

             28        }

             29        private String ip;
             30        private String username;
             31        private String pwd;
             32        private String remotepath;
             33        private UpLoadFile uploadFtp;
             34
             35        private String curnetName;
             36        private  String curtype;
             37        private  String cursuppler;
             38
             39        private string remoteFileName;
             40        private long localFileLength;
             41        private string localFilePath;
             42        private string localFileName;
             43        private TreeNode curTN = null;
             44        private string fileNewName = null;
             45        private string isSucName = "0.src";
             46        private string fileType;
             47        private bool isRename = false;
             48        public DataUpload()
             49        {
             50            InitializeComponent();
             51        }

             52        private void InitTreeView(int order)
             53        {
             54            PublicUse pubfun = new PublicUse();
             55
             56            bool bResult = pubfun.InitMTreeView(Netree, NeList, order);
             57            if (!bResult)
             58            {
             59                MessageBox.Show("未取出網元信息,請稍候使用該功能!""局數據仿真系統");
             60                return;
             61            }

             62        }

             63
             64        private void DataUpload_Load(object sender, EventArgs e)
             65        {
             66            //網元
             67            InitTreeView(1);
             68        }

             69
             70        private void radType_CheckedChanged(object sender, EventArgs e)
             71        {
             72            InitTreeView(1);
             73        }

             74
             75        private void radSupplier_CheckedChanged(object sender, EventArgs e)
             76        {
             77            InitTreeView(2);
             78        }

             79
             80        private void radCity_CheckedChanged(object sender, EventArgs e)
             81        {
             82            InitTreeView(3);
             83        }

             84
             85        private void butSelectFile_Click(object sender, EventArgs e)
             86        {
             87            string curWD = System.IO.Directory.GetCurrentDirectory();
             88            OpenFileDialog fd = new OpenFileDialog();
             89            if (fd.ShowDialog(this== DialogResult.OK)
             90            {            
             91                localFileName = fd.SafeFileName;
             92                FileInfo fi = new FileInfo(fd.SafeFileName);
             93                String path = fi.Directory.ToString();
             94                this.localFilePath = path + "\\" + localFileName;
             95                textFile.Text = localFilePath;
             96                
             97            }

             98            System.IO.Directory.SetCurrentDirectory(curWD);
             99
            100        }

            101
            102        private void Netree_MouseClick(object sender, MouseEventArgs e)
            103        {
            104            if(e.Button == MouseButtons.Left)
            105            {
            106                TreeNode tn = this.Netree.GetNodeAt(e.Location);
            107
            108                if (tn != null && tn.Bounds.Contains(e.Location))
            109                {
            110                    if (tn.Nodes.Count == 0)
            111                    {
            112                        curTN = tn;
            113                        取網元名
            116
            117                        根據網元名找設備類型和廠商
            120
            121                        讀配置文件,把文件類型放入文件類型鏈表
            125
            126                        加載文件類型鏈表
            135
            136                    }

            137                }

            138            }

            139        }

            140        private void GetTypeSuppler(String nn, out String type, out String suppler)
            141        {
            142
            143            foreach (NeInfoLocal ni in m_NeList)
            144            {
            145                if (ni.strNeNameEN.Equals(nn))
            146                {
            147                    type = ni.strNeType;
            148                    suppler = ni.strNeSupplier;
            149                    return;
            150                }

            151            }

            152            type = null;
            153            suppler = null;
            154        }

            155        private String[] GetFileType(string type, string suppler)
            156        {
            157            String[] fileTypeList;
            158            String res = null;
            159            XmlDocument xmlDoc = new XmlDocument();
            160            xmlDoc.Load("FileTyp.xml");
            161             XmlNode node = xmlDoc.SelectSingleNode("FileType");
            162             for (int i = 0; i < node.ChildNodes.Count; i++)
            163             {
            164                 if (node.ChildNodes[i].Name.Equals(type))
            165                 {
            166                     for (int j = 0; j < node.ChildNodes[i].ChildNodes.Count; j++)
            167                     {
            168                         if (node.ChildNodes[i].ChildNodes[j].Name.Equals(suppler))
            169                         {
            170                             res = node.ChildNodes[i].ChildNodes[j].InnerText.ToString();
            171                             fileTypeList = res.Split(',');
            172                             return fileTypeList;
            173                         }

            174                     }

            175                 }

            176             }

            177             return null;
            178        }

            179        private void SetFtpInfo()
            180        {
            181            XmlDocument xmlDoc = new XmlDocument();
            182            xmlDoc.Load("UpLoadFtp.xml");
            183            XmlNode node = xmlDoc.SelectSingleNode("UpLoad");
            184            for (int i = 0; i < node.ChildNodes.Count; i++)
            185            {
            186                if (node.ChildNodes[i].Name.Equals("IP"))
            187                {
            188                    ip = node.ChildNodes[i].InnerText;
            189                }

            190                else if (node.ChildNodes[i].Name.Equals("userName"))
            191                {
            192                    username = node.ChildNodes[i].InnerText;
            193                }

            194                else if (node.ChildNodes[i].Name.Equals("password"))
            195                {
            196                    pwd = node.ChildNodes[i].InnerText;
            197                }

            198                else if (node.ChildNodes[i].Name.Equals("remotePath"))
            199                {
            200                    remotepath = node.ChildNodes[i].InnerText;
            201                }

            202            }

            203        }

            204        private void button1_Click(object sender, EventArgs e)
            205        {
            206            lbFtpMessage.Text = "";
            207            //初始化ftp信息
            208            SetFtpInfo();
            209            uploadFtp = new UpLoadFile(ip, username, pwd);
            210            isRename = this.checkIsFormat.Checked;
            211            if (this.textFile.Text.Length == 0)
            212            {
            213                MessageBox.Show("請選擇要上傳的文件""信息提示");
            214            }

            215            else
            216            {
            217                if (isRename == true)
            218                {
            219                    if (curTN == null)
            220                    {
            221                        MessageBox.Show("請選擇網元""提示信息");
            222                        return;
            223                    }

            224                    if(comboFileType.SelectedItem == null)
            225                    {
            226                        MessageBox.Show("請選擇文件類型","信息提示");
            227                        return;
            228                    }

            229                }

            230               
            231                //上傳
            232                FileInfo fi = new FileInfo(localFilePath);
            233                this.localFileLength = fi.Length;
            234                uploadFtp.BytesTransferred += new EnterpriseDT.Net.Ftp.BytesTransferredHandler(uploadFtp_BytesTransferred);
            235                uploadFtp.TransferComplete += new EnterpriseDT.Net.Ftp.TransferHandler(uploadFtp_TransferComplete);
            236                if (this.checkIsFormat.Checked)
            237                {
            238                    Random ran = new Random();
            239                    remoteFileName = curtype + "#" + cursuppler + "#" + curnetName + "#"
            240                                   + comboFileType.SelectedItem.ToString()
            241                                   + "#" + DateTime.Now + "#" + ran + "#"
            242                                   + "0.src";
            243                }

            244                else
            245                {
            246                    remoteFileName = localFileName;
            247                }

            248                uploadFtp.MyUpload(remotepath, localFilePath, remoteFileName);
            249               
            250                
            251            }

            252        }

            253
            254        void uploadFtp_TransferComplete(object sender, EnterpriseDT.Net.Ftp.TransferEventArgs e)
            255        {
            256            if (this.checkIsFormat.Checked)
            257            {
            258                Random ran = new Random();
            259                this.fileNewName = curtype + "#" + cursuppler + "#" + curnetName + "#"
            260                                   + comboFileType.SelectedItem.ToString()
            261                                   + "#" + DateTime.Now + "#" + ran + "#"
            262                                   + "1.src";
            263                uploadFtp.ReName(remoteFileName, fileNewName);
            264            }

            265            progressBar1.Value = 0;
            266            lbFtpMessage.ForeColor = Color.Red;
            267            lbFtpMessage.Text = "上傳成功!";
            268        }

            269
            270        void uploadFtp_BytesTransferred(object sender, EnterpriseDT.Net.Ftp.BytesTransferredEventArgs e)
            271        {
            272            this.progressBar1.Value = (int)(100 *((float)e.ByteCount / (float)localFileLength));
            273
            274            string str = String.Format("上傳進度: {0}%", progressBar1.Value);
            275            lbFtpMessage.ForeColor = Color.Black;
            276            lbFtpMessage.Text = str;
            277            Application.DoEvents();
            278        }

            279
            280        private void comboFileType_TextChanged(object sender, EventArgs e)
            281        {
            282
            283            獲取文件類型
            288        }

            289
            290        private void butCancle_Click(object sender, EventArgs e)
            291        {
            292
            293            this.Close();
            294        }

            295
            296    }

            297}
            posted on 2008-10-31 10:04 天書 閱讀(3508) 評論(1)  編輯 收藏 引用

            FeedBack:
            # re: ftp上傳下載進度條ffff
            2013-03-27 17:57 | ca
            123  回復  更多評論
              

            <2008年9月>
            31123456
            78910111213
            14151617181920
            21222324252627
            2829301234
            567891011

            常用鏈接

            留言簿(5)

            隨筆檔案

            文章分類

            文章檔案

            好友的Bolg

            搜索

            •  

            最新評論

            閱讀排行榜

            評論排行榜

            国产69精品久久久久777| 99久久精品国产一区二区| 久久艹国产| 久久香蕉一级毛片| 久久亚洲国产精品一区二区| 精品久久久久久亚洲精品| 一本一本久久A久久综合精品 | 韩国免费A级毛片久久| 99精品久久久久久久婷婷 | 久久久久免费精品国产| 久久婷婷色综合一区二区| 国产福利电影一区二区三区久久久久成人精品综合 | 久久棈精品久久久久久噜噜| 国产69精品久久久久9999APGF| 久久天天躁夜夜躁狠狠躁2022| 狠狠色丁香婷婷久久综合五月 | 欧美黑人又粗又大久久久| 色妞色综合久久夜夜| 99久久er这里只有精品18| 久久精品9988| 久久久久久毛片免费看| 99精品国产免费久久久久久下载| 久久久久久久精品成人热色戒 | .精品久久久麻豆国产精品| 久久最近最新中文字幕大全 | 少妇人妻88久久中文字幕| 精品久久8x国产免费观看| 免费观看成人久久网免费观看| 久久精品国产精品亚洲人人 | 亚洲精品无码久久久久去q | 一本色道久久88综合日韩精品| 无码任你躁久久久久久老妇App| 日韩久久久久久中文人妻| 伊人久久免费视频| 国内精品伊人久久久影院| 久久久久久国产精品无码超碰| 国产成人综合久久精品尤物| 久久久噜噜噜久久中文字幕色伊伊| 99精品国产在热久久无毒不卡 | 三上悠亚久久精品| 久久se精品一区精品二区国产|