title: Ftp Upload gives exception Unable to write data to the transport connection. An existing connection was forcibly closed by the remote host
body: <p>I have a windows form application in which i am using a background worker to ftp upload files. After uploading <code>209</code> files successfully it gave error on file which only had size of 7.8kb that <code>While Processing Img1.jpg Unable to write data to the transport connection. An existing connection was forcibly closed by the remote host</code>.</p>
  
  <pre><code>string uri1;
  
  ftpInfoUpload = LoadHostedSiteData(hs);
  ftpInfoUpload[5] = imgRow["Filename"].ToString();
  
  uri1 = String.Format("ftp://{0}/{1}/images/{2}", ftpInfoUpload[1], ftpInfoUpload[2], ftpInfoUpload[5]);
  
  requestUpload = (FtpWebRequest)WebRequest.Create(uri1);
  requestUpload.UsePassive = false;
  requestUpload.UseBinary = true;
  requestUpload.Method = WebRequestMethods.Ftp.UploadFile;
  requestUpload.Credentials = new NetworkCredential(ftpInfoUpload[3], ftpInfoUpload[4]);
  
  
  requestUpload.ContentLength = memStream.Length;
  byte[] buff = new byte[bufferSize];
  int contentLen;
  
  // Stream to which the file to be upload is written
  Stream strm = requestUpload.GetRequestStream();
  memStream.Seek(0, SeekOrigin.Begin);
  contentLen = memStream.Read(buff, 0, bufferSize);
                              // Till Stream content ends
  while (contentLen &gt; 0)
  {   
      // Write Content from the file stream to the FTP   Upload Stream
      strm.Write(buff, 0, contentLen);
      contentLen = memStream.Read(buff, 0, bufferSize);
  }
  
  //Close the file stream and the Request Stream
  strm.Close();
  strm.Dispose();
  ftpStream.Close();
  memStream.Close();
  //responseUpload.Close();
  responseDownload.Close();
  </code></pre>
  
  <p>And ideas whats happening?</p>