我正在尝试从我的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);
}
答案 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();
}
我只是完全重写了代码并再次尝试并且它有效。