FTP请求下载文件并立即删除

时间:2013-12-19 05:04:23

标签: c# ftp

我有一个使用ftprequest下载文件的代码

FtpWebRequest requestFileDownload = (FtpWebRequest)WebRequest.Create("ftp://localhost/Source/" + fileName);
requestFileDownload.Credentials = new NetworkCredential("khanrahim", "arkhan22");
requestFileDownload.Method = WebRequestMethods.Ftp.DownloadFile;

FtpWebResponse responseFileDownload = (FtpWebResponse)requestFileDownload.GetResponse();

Stream responseStream = responseFileDownload.GetResponseStream();
FileStream writeStream = new FileStream(localPath + fileName, FileMode.Create);  

int Length = 2048;
Byte[] buffer = new Byte[Length];
int bytesRead = responseStream.Read(buffer, 0, Length);               

while (bytesRead > 0)
{
  writeStream.Write(buffer, 0, bytesRead);
  bytesRead = responseStream.Read(buffer, 0, Length);
}   

responseStream.Close();             
writeStream.Close();

现在我的需要是我需要在使用相同的requset完成下载后从ftpserver中删除该文件。

我确实尝试追加     requestFileDownload.Method = WebRequestMethods.Ftp.deleteFile; 在关闭请求之前..但它不起作用。 如何使用相同的请求删除文件。

1 个答案:

答案 0 :(得分:3)

WebRequest.Create创建的对象只能用于一个请求。由于FTP中没有“GET和DELETE”方法,因此您需要使用相同的配置创建另一个FtpWebRequest,并使用新的FtpWebRequest发送删除请求。