FtpWebRequest類_ftp客戶端

wisdomone1發表於2011-10-28
  測試提出代發工資模組上傳加密檔案報錯,在vitual studio設定斷點.定位到方法

                            corFileList.Add(upFile2);
                            j++;

                            payrollFtp.Upload(upFile);//上傳檔案的絕對路徑(包含副檔名)

  upload方法細節如下:


  ///
        /// 上傳
        ///

        ///
        public void Upload(string filename)
        {
            FileInfo fileInf = new FileInfo(filename);
            string uri = ftpURI + fileInf.Name;
            System.Net.FtpWebRequest reqFTP;
            reqFTP = (FtpWebRequest)FtpWebRequest.Create(new Uri(uri));
            reqFTP.Credentials = new NetworkCredential(ftpUserID, ftpPassword);
            reqFTP.KeepAlive = false;
            reqFTP.Method = WebRequestMethods.Ftp.UploadFile;
            reqFTP.UseBinary = true;
            reqFTP.ContentLength = fileInf.Length;
            int buffLength = 2048;
            byte[] buff = new byte[buffLength];
            int contentLen;
            //20110905 zxy 建立上傳到ftp server 檔案的檔案流
            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)
            {
                //Insert_Standard_ErrorLog.Insert("FtpClient", "Upload Error --&gt " + ex.Message);
                throw new CoreBusinessException(99999L, "檔案上傳至ftp伺服器時出現異常,請檢查ftp伺服器是否配置正確!", new string[] { });
            }

        }


後經分析,發現FTP伺服器目錄被我不小心移動了,導致上傳找不到上傳目錄故報錯


--摘錄下ftpwebrequest類示例


來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/9240380/viewspace-709854/,如需轉載,請註明出處,否則將追究法律責任。

相關文章