首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > .NET > C# >

C#把文件下传到服务器出有关问题

2013-01-25 
C#把文件上传到服务器出问题 /// summary/// 上传/// /summary/// param namelocalFile要上传到F

C#把文件上传到服务器出问题
 /// <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,在我的电脑可以登进去,用户和密码也没有错,我看到这个地方出问题了,求指教怎么办
[解决办法]
ftpPath 这个值我不知道你输入的是什么
正确的格式应该是
ftp://servername/%2fdirectory/uploadName   

热点排行