Problem with ftp web request

Collapse
X
 
  • Time
  • Show
Clear All
new posts
  • libish
    New Member
    • Oct 2008
    • 42

    Problem with ftp web request

    hi all,

    i'm trying to develop a file uploader, it uses ftp, language is c# the application is c#windows app
    the main part of code that i use is as below

    Code:
    try
                {
    FtpWebRequest request; 
                request = getFTPRequestObject(strNewFile);
                    request.ContentLength = fileInfo.Length;
    
    requestStream = request.GetRequestStream();
    
                    FileStream fileStream = fileInfo.OpenRead();
                    contentLen = fileStream.Read(buffer, 0, buffLength);
    
                    while (contentLen != 0)
                    {
                        requestStream.Write(buffer, 0, contentLen);
                        contentLen = fileStream.Read(buffer, 0, buffLength);
    
                    }
                    fileStream.Close();
    
    
    requestStream.Close();
    
    
    
                    //FtpWebResponse response = (FtpWebResponse)request.GetResponse();
                    //strMessage = response.StatusDescription;
                    //responseCode = Convert.ToInt32(response.StatusCode);
                    //response.Close();
                }

    Code:
            private FtpWebRequest getFTPRequestObject(string strFileName)
            {
                FtpWebRequest requestOb = (FtpWebRequest)WebRequest.Create(Path.Combine(ConstantClass.strFTPsiteUrl, strFileName));
                string strUserName =ConstantClass.USERNAME;
                string strPassword=ConstantClass.PASSWORD;
                requestOb.Credentials = new NetworkCredential(strUserName,strPassword);//("vmftp", "veomed123#");
                requestOb.Method = WebRequestMethods.Ftp.UploadFile;
                requestOb.UseBinary = true;
                requestOb.Timeout = Timeout.Infinite;
                requestOb.ReadWriteTimeout = Timeout.Infinite;
                requestOb.Proxy = null;
    
                requestOb.KeepAlive = true;//false
                requestOb.EnableSsl = false;
                requestOb.UsePassive = false;
                return requestOb;
            }
    the listed part is where i have problem with
    i have many files to upload
    i put them in a queue and am uploading one at a time...
    it all works perfect.. but when i have a big file for upload say a 80 mb .ppt file,
    it succeed in writing it to ftp site but aftr writing ie after exiting from the code below
    Code:
          while (contentLen != 0)
                    {
                        requestStream.Write(buffer, 0, contentLen);
                        contentLen = fileStream.Read(buffer, 0, buffLength);
    
                    }
    it gets stuck or waits unconditionally at
    Code:
    requestStream.Close();
    can any one help me out,
Working...