/// <summary>
        /// 上传
        /// </summary>
        /// <param name="localFile">要上传到FTP服务器的文件</param>
        /// <param name="ftpPath">FTP地址</param>
        /// <param name="ftpUser">用户名</param>
        /// <param name="ftpPassword">密码</param>
        public static void UpLoadFile(string localFile, string ftpPath, string ftpUser, string ftpPassword)
        {
            if (ftpUser == null)
            {
                ftpUser = "";
            }
            if (ftpPassword == null)
            {
                ftpPassword = "";
            }
            if (!File.Exists(localFile))
            {
                MessageBox.Show("(上传文件)文件:“" + localFile + "” 不存在!");
                return;
            }
            FtpWebRequest ftpWebRequest = null;
            FileStream localFileStream = null;
            Stream requestStream = null;
            try
            {
                //ftpWebRequest = (FtpWebRequest)FtpWebRequest.Create(new Uri(ftpPath));
                FtpWebRequest uploadRequest = (FtpWebRequest)WebRequest.Create(ftpPath);
                ftpWebRequest.Credentials = new NetworkCredential(ftpUser, ftpPassword);
                ftpWebRequest.UseBinary = true;
                ftpWebRequest.KeepAlive = false;
                ftpWebRequest.Method = WebRequestMethods.Ftp.UploadFile;
                ftpWebRequest.ContentLength = localFile.Length;
                int buffLength = 44096;
                byte[] buff = new byte[buffLength];
                int contentLen;
                localFileStream = new FileInfo(localFile).OpenRead();
                requestStream = ftpWebRequest.GetRequestStream();
                contentLen = localFileStream.Read(buff, 0, buffLength);
                while (contentLen != 0)
                {
                    requestStream.Write(buff, 0, contentLen);
                    contentLen = localFileStream.Read(buff, 0, buffLength);
                }
            }
            catch 
            {
                MessageBox.Show(" 上传文件");
            }
            finally
            {
                if (requestStream != null)
                {
                    requestStream.Close();
                }
                if (localFileStream != null)
                {
                    localFileStream.Close();
                }
            }
        }
总是提示 连接不上,我是自己电脑建了一个ftp,在我的电脑可以登进去,用户和密码也没有错,我看到这个地方出问题了,求指教怎么办

解决方案 »

  1.   

    ftpPath 这个值我不知道你输入的是什么
    正确的格式应该是
    ftp://servername/%2fdirectory/uploadName   
      

  2.   

    FtpWebRequest ftpWebRequest = null;
     //ftpWebRequest = (FtpWebRequest)FtpWebRequest.Create(new Uri(ftpPath));
    FtpWebRequest uploadRequest = (FtpWebRequest)WebRequest.Create(ftpPath);
    ftpWebRequest.Credentials = new NetworkCredential(ftpUser, ftpPassword);这个ftpWebRequest根本没有初始话肯定连不上去阿
      

  3.   

    请问楼主ftpPath的具体是什么格式?
      string ftpPath = "ftp://192.168.2.3:22/image";是这样吗?
    ftp://servername/%2fdirectory/uploadName,uploadName是什么?