调用FTP工具,如何在文件传送结束或者上传结束后激发一个事件。 谢谢

解决方案 »

  1.   

    Ftp server is state managed
    if you get code about ftp,you can do anything.
     when uploading file finished,five seconds(maybe) the server will close!
      

  2.   

    如果网络稳定而且要实现功能简单的话,可以在代码里写FTP上传的,这样就好控制了。
    如果非要用第三方软件,首先要看这个软件是否提供相应的接口了,要找程序的帮助文档看看。或者这个软件在上传完可以自动关闭,这样就可以控制了。所以说要看你的需求了,如果需要第三方软件的话就要根据不同的软件不同对待了。我感觉还是自己写个上传方便些。        private void UpLoad()
            {
                try
                {
                    FileInfo fileinfo = new FileInfo(Application.StartupPath + @"\Temp\tmp.wav");
                    string ftpurl = "ftp://192.168.1.10/temp/temp.wav";
                    FtpWebRequest ftpreq = (FtpWebRequest)FtpWebRequest.Create(new Uri(ftpurl));
                    ftpreq.Credentials = new NetworkCredential(sconfig.UserId, sconfig.PassWord);
                    ftpreq.KeepAlive = false;
                    ftpreq.Method = WebRequestMethods.Ftp.UploadFile;
                    ftpreq.UseBinary = true;
                    ftpreq.ContentLength = fileinfo.Length;
                    int buffLength = 2048;
                    byte[] buff = new byte[buffLength];
                    int contentLen;
                    FileStream fs = fileinfo.OpenRead();
                    Stream strm = ftpreq.GetRequestStream();
                    label3.Text = "连接成功!正在保存请稍后";
                    contentLen = fs.Read(buff, 0, buffLength);
                    while (contentLen != 0)
                    {
                        strm.Write(buff, 0, buffLength);
                        contentLen = fs.Read(buff, 0, buffLength);
                    }
                    strm.Close();
                    fs.Close();
                    label3.Text = "     保存成功!";
                    MessageBox.Show(this, "您的录音保存成功!       ", "提示", MessageBoxButtons.OK, MessageBoxIcon.Asterisk);
                }
                catch (System.Exception ex)
                {
                    MessageBox.Show(this, "文件保存服务器时发生错误! " + ex.Message, "错误", MessageBoxButtons.OK, MessageBoxIcon.Error);
                }        }