C# FTP上傳文件時出現"應 PASV 命令的請求,服務器返回了一個與 FTP 連接地址不同的地址。"的錯誤


FTP上傳文件時出現"應 PASV 命令的請求,服務器返回了一個與 FTP 連接地址不同的地址。"的錯誤

解決方法是在原代碼上增加這句話

reqFTP.UsePassive = false;

 

        /// <summary>  
        /// 上傳  
        /// </summary>   
        public static void Upload(string filename)
        {
            FileInfo fileInf = new FileInfo(filename);
            FtpWebRequest reqFTP;
            reqFTP = (FtpWebRequest)FtpWebRequest.Create(new Uri(ftpURI + fileInf.Name));
            reqFTP.Credentials = new NetworkCredential(FtpUserID, FtpPassword);
            reqFTP.Method = WebRequestMethods.Ftp.UploadFile;
       //增加這句話 reqFTP.UsePassive
= false; reqFTP.KeepAlive = false; reqFTP.UseBinary = true; reqFTP.ContentLength = fileInf.Length; int buffLength = 2048; byte[] buff = new byte[buffLength]; int contentLen; FileStream fs = fileInf.OpenRead(); try { Stream strm = reqFTP.GetRequestStream(); contentLen = fs.Read(buff, 0, buffLength); while (contentLen != 0) { strm.Write(buff, 0, contentLen); contentLen = fs.Read(buff, 0, buffLength); } strm.Close(); fs.Close(); } catch (Exception ex) { throw new Exception(ex.Message); } }
 
        

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM