使用 WebClient 复制到 FTP 后文件正在使用错误

问题描述

我从本地 ftp 下载了一个文件代码如下:

System.Net.WebClient oClientFTP = new System.Net.WebClient();
oClientFTP.Credentials = new System.Net.NetworkCredential("user","password");
oClientFTP.DownloadFile("ftp://192.168.0.10/files/test.pdf","test.pdf");
oClientFTP.dispose();

文件被正确复制但没有被释放,我尝试做的任何事情都告诉我该文件正在被另一个应用程序使用。我尝试使用 ProcessExplorer 但它没有解决问题。 我也尝试将文件复制到另一个文件,但问题是一样的。 复制后如何释放文件

解决方法

我使用流解决了这个问题,然后我将其写入文件。

using (MemoryStream stream = new MemoryStream(oClientFTP.DownloadData(cFtp +cNomefile)))
{
  using (FileStream outputFileStream = new FileStream(cNomefile,FileMode.Create))
  {
    stream.CopyTo(outputFileStream); 
  }
}