在Ftp服务器上删除文件?

时间:2012-12-18 02:10:46

标签: c# winforms ftp

我正在尝试从我的FTP网站删除文件,但我似乎无法让代码工作,任何人都可以帮助吗?,我没有错误,它只是没有做任何事情。

private FtpWebRequest deleteRequest(string uri, string method)
{
    var r = (FtpWebRequest)WebRequest.Create(uri);
    string Delete = WebRequestMethods.Ftp.DeleteFile;

    r.Credentials = new NetworkCredential(TxtUsername.Text, TxtPassword.Text);
    r.Method = Delete = listView1.SelectedItems.ToString();
    return r;
}

代码的其余部分。

    private void openToolStripMenuItem_Click(object sender, EventArgs e)
    {
        textBox1.Text = TxtServer.Text + listView1.SelectedItems.ToString();
        deleteRequest(textBox1.Text, WebRequestMethods.Ftp.DeleteFile);
    }

3 个答案:

答案 0 :(得分:1)

您必须致电r.GetResponse()。您真的不需要从您的方法返回您的请求。

答案 1 :(得分:1)

您正在使用ListView中选择的任何内容覆盖“DELETE”方法。


以下一行:

r.Method = Delete = listView1.SelectedItems.ToString();

与这两个相同:

Delete = listView1.SelectedItems.ToString();
r.Method = Delete;

这样Delete首先获得SelectedItems中所有内容的值,然后将该值用作Method。这可能不是你的想法。

答案 2 :(得分:0)

这是我最终使用的代码谢谢大家的帮助,真的很感激。

private void deleteToolStripMenuItem_Click(object sender, EventArgs e)
    {
        ResultLabel.Text = "Deleting: " + listView1.SelectedItems[0].Text;
        ResultLabel.Show();
        this.Refresh();
        textBox1.Text = TxtServer.Text + listView1.SelectedItems[0].Text;
        FtpWebRequest request = (FtpWebRequest)WebRequest.Create(textBox1.Text);
        request.Method = WebRequestMethods.Ftp.DeleteFile;

        request.Credentials = new NetworkCredential(TxtUsername.Text, TxtPassword.Text);
        FtpWebResponse response = (FtpWebResponse)request.GetResponse();
        ResultLabel.Text = "Deleted: " + listView1.SelectedItems[0].Text;
        response.Close();
    }

我只是完全重写了代码并再次尝试并且它有效。