如何上传到FTP

时间:2018-08-31 09:47:44

标签: c# ftp

  

我想知道如何将文件上传到ftp,但是如果该文件   我已经想覆盖该文件了。

这是我用来将文件上传到ftp的代码:

var ip = myDllConfigAppSettings1.Settings["testeIP"].Value;
                            FtpWebRequest request = (FtpWebRequest)WebRequest.Create(ip + nomecompleto + ".txt");
                            request.Method = WebRequestMethods.Ftp.UploadFile;

                            request.Credentials = new NetworkCredential("test", "teste123");

                            StreamReader sourceStream = new StreamReader(arquivo.FullName);
                            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();

                            MessageBox.Show("Arquivo " + arquivo.Name + " foi enviado com sucesso. " + response.StatusDescription);

                            response.Close();

但是此代码不会覆盖已经存在的文件。 感谢您的帮助。

1 个答案:

答案 0 :(得分:0)

            // connect with ftp-server
            using (WebClient client = new WebClient())
            {
                // open connection with connection-strings
                client.Credentials = new NetworkCredential(this.Username, this.Password);
                // upload zip-file on server
                client.UploadFile("ftp://localhost/"+ cleanFileName, WebRequestMethods.Ftp.UploadFile,zipFileName);
            }