title: How to overwrite file via FTP
body: <p>My program generates txt file which i upload to FTP. In the name of the file i have an time span (without seconds).</p>
  
  <p>So when i generate file twice in a minute i have same filename. And if such file exists on ftp, i cant send new one, exception raised.</p>
  
  <p>But i just need to overwrite it silently. How this can be done?</p>
  
  <p>Currently i use such func</p>
  
  <pre><code>public bool FtpUploadFile(string filePath, FTPParameters ftpParams)
  {
      // Get the object used to communicate with the server.
      FtpWebRequest request = (FtpWebRequest)WebRequest.Create(ftpParams.Server + "/" + ftpParams.Folder + "/" + filePath);
      request.Method = WebRequestMethods.Ftp.UploadFile;
      request.UsePassive = false;
  
      // This example assumes the FTP site uses anonymous logon.
      request.Credentials = new NetworkCredential(ftpParams.User, ftpParams.Password);
  
      // Copy the contents of the file to the request stream.
      StreamReader sourceStream = new StreamReader(Path.Combine(Context.Current.SystemSettings.StorePath, filePath));
      byte[] fileContents = Encoding.UTF8.GetBytes(sourceStream.ReadToEnd());
      sourceStream.Close();
      request.ContentLength = fileContents.Length;
  
      Stream requestStream = request.GetRequestStream();
      requestStream.Write(fileContents, 0, fileContents.Length);
      requestStream.Close();
  
      FtpWebResponse response = (FtpWebResponse)request.GetResponse();
  
      return response.ExitMessage.Trim() == string.Empty;
  }
  </code></pre>