移动下载的文件。 IO异常文件由另一个进程使用

时间:2016-04-05 09:09:16

标签: c# asp.net file

我下载了这样的文件。

using (var client = new WebClient())
{
   client.Proxy = new WebProxy();
   client.DownloadFile(@tb.Text, "new.png");
}

然后我想移动它。

File.Move("new.png", path);

我试过这个之后,我试过......

using (var fileStream = new StreamReader("new.png"))
{
   File.Move("new.png", path);         
}

但是这两个版本都抛出了另一个进程异常的文件使用。 我怎么能避免这个?

2 个答案:

答案 0 :(得分:1)

你可以直接将文件下载到想要的路径中,如下所示:

using (var client = new WebClient())
{
   client.Proxy = new WebProxy();
   client.DownloadFile(@tb.Text, Path.Combine(path, "new.png");
}

以下是Path.Combine(..)的一些信息,如果您需要:)

答案 1 :(得分:-1)

using (var fileStream = new StreamReader("new.png"))
{
   File.Move("new.png", path);         
}

为什么不在使用

之外调用File.Move(“new.png”,path)
using (var fileStream = new StreamReader("new.png"))
{
   // To your stuff
}
File.Move("new.png", path);