解决方案 »

  1.   

            //上传文件
            public static Boolean FtpUpload(string ftpPath,string localFile)
            {
                //检查目录是否存在,不存在创建
                FtpCheckDirectoryExist(ftpPath);
                FileInfo fi = new FileInfo(localFile);
                FileStream fs = fi.OpenRead();
                long length = fs.Length;
                FtpWebRequest req = (FtpWebRequest)WebRequest.Create(ftpServerIP + ftpPath + fi.Name);
                req.Credentials = new NetworkCredential(ftpUserID, ftpPassword);
                req.Method = WebRequestMethods.Ftp.UploadFile;
                req.ContentLength = length;
                req.Timeout = 10 * 1000;
                try
                {
                    Stream stream = req.GetRequestStream();
                    int BufferLength = 2048; //2K   
                    byte[] b = new byte[BufferLength];
                    int i;
                    while ((i = fs.Read(b, 0, BufferLength)) > 0)
                    {
                        stream.Write(b, 0, i);
                    }
                    stream.Close();
                    stream.Dispose();
                }
                catch (Exception e)
                {
                    ErrLog(e.Message + e.StackTrace);
                    return false;
                }
                finally
                {
                    fs.Close();
                    req.Abort();
                }
                req.Abort();
                return true;
            }        //判断文件的目录是否存,不存则创建
            public static void FtpCheckDirectoryExist(string destFilePath)
            {
                string fullDir = FtpParseDirectory(destFilePath);
                string[] dirs = fullDir.Split('/');
                string curDir = "/";
                for (int i = 0; i < dirs.Length; i++)
                {
                    string dir = dirs[i];
                    //如果是以/开始的路径,第一个为空  
                    if (dir != null && dir.Length > 0)
                    {
                        try
                        {
                            curDir += dir + "/";
                            FtpMakeDir(curDir);
                        }
                        catch (Exception)
                        {}
                    }
                }
            }        public static string FtpParseDirectory(string destFilePath)
            {
                return destFilePath.Substring(0, destFilePath.LastIndexOf("/"));
            }          //创建目录
            public static Boolean FtpMakeDir(string localFile)
            {
                FtpWebRequest req = (FtpWebRequest)WebRequest.Create(ftpServerIP + localFile);
                req.Credentials = new NetworkCredential(ftpUserID, ftpPassword);
                req.Method = WebRequestMethods.Ftp.MakeDirectory;
                try
                {
                    FtpWebResponse response = (FtpWebResponse)req.GetResponse();
                    response.Close();
                }
                catch (Exception)
                {
                    req.Abort();
                    return false;
                }
                req.Abort();
                return true;
            }
      

  2.   

    http://blog.csdn.net/chinacsharper/article/details/9501773这里面找。