本帖最后由 yxj19871219 于 2011-07-07 14:49:51 编辑

解决方案 »

  1.   

    参考:
                  //ftp建立连接
                  try
                {
                    Request = (FtpWebRequest)WebRequest.Create(uri);
                    Request.Method = FtpMathod;
                    Request.UseBinary = true;
                    Request.Credentials = new NetworkCredential(this.UserName, this.Password);
                    if (this.Proxy != null)
                    {
                        Request.Proxy = this.Proxy;
                    }
                    return (FtpWebResponse)Request.GetResponse();
                }
                catch (Exception ep)
                {
                    ErrorMsg = ep.ToString();
                    throw ep;
                }
                //ftp上传文件
                  try
                {
                      Response = Open(new Uri(this.Uri.ToString() + RemoteFileName), WebRequestMethods.Ftp.UploadFile);
                    Stream requestStream = Request.GetRequestStream();
                    MemoryStream mem = new MemoryStream(FileBytes);                byte[] buffer = new byte[1024];
                    int bytesRead = 0;
                    int TotalRead = 0;
                    while (true)
                    {
                        bytesRead = mem.Read(buffer, 0, buffer.Length);
                        if (bytesRead == 0)
                            break;
                        TotalRead += bytesRead;
                        requestStream.Write(buffer, 0, bytesRead);
                    }
                    requestStream.Close();
                    Response = (FtpWebResponse)Request.GetResponse();
                    mem.Close();
                    mem.Dispose();
                    FileBytes = null;
                    return true;
                }
                catch (Exception ep)
                {
                    ErrorMsg = ep.ToString();
                    throw ep;
                }也可以用第3方组件,速度会快点。