我无法通过FTP删除文件

问题描述 投票:-1回答:1

我正在尝试通过FTP删除文件夹中的所有文件。下面是我正在尝试的代码。

Files是一个字符串数组,如果文件夹中带有扩展名的文件名,则每个字符串组成。

运行时,我得到206的答复,但是当我查看文件夹时,所有文件都保留了。我尝试了以下代码的变体,包括添加延迟,但仍然无法删除文件。我错过了什么?

 foreach (var FileName2 in Files)
     {
       if (File.Exists(txtbx_save_backup_to.Text + "/" + FileName2))
                {
                    FtpWebRequest Delrequest = (FtpWebRequest)WebRequest.Create(ftp_address + "/Temp/Backup/" + FileName2);
                   Delrequest.Credentials = new NetworkCredential(username, password);
                   Delrequest.Method = WebRequestMethods.Ftp.DeleteFile;

                    Task.Delay(1000);

                    using (FtpWebResponse response2 = (FtpWebResponse)request.GetResponse())
                    {
                        rchtxtbx_backup_comms.AppendText("Deleted File, status " + response2.StatusDescription + "\r");
                        rchtxtbx_backup_comms.ScrollToCaret();
                    }
                }
            }
c# .net ftp
1个回答
0
投票

上面的评论以me回的方式为我提供了所需的线索,感谢您的回答。

我错过了“操作”删除请求的部分。因此,我添加了以下内容,现在可以使用。

WebResponse GetResponse = Delrequest.GetResponse();
Stream GResponseStream = GetResponse.GetResponseStream();

我删除了等待,现在有了完整的代码

foreach (var FileName2 in Files)
            {
                if (File.Exists(txtbx_save_backup_to.Text + "/" + FileName2))
                {
                    FtpWebRequest Delrequest = (FtpWebRequest)WebRequest.Create(ftp_address + "/Temp/Backup/" + FileName2);
                   Delrequest.Credentials = new NetworkCredential(username, password);
                   Delrequest.Method = WebRequestMethods.Ftp.DeleteFile;

                    //Action request
                    WebResponse GetResponse = Delrequest.GetResponse();
                    Stream GResponseStream = GetResponse.GetResponseStream();

                    using (FtpWebResponse response2 = (FtpWebResponse)request.GetResponse())
                    {
                        rchtxtbx_backup_comms.AppendText("Deleted File, status " + response2.StatusDescription + "\r");
                        rchtxtbx_backup_comms.ScrollToCaret();
                    }

                    GResponseStream.Close();
                }
            }
© www.soinside.com 2019 - 2024. All rights reserved.