asp.net File.Copy Lock

时间:2012-01-19 20:35:40

标签: asp.net locking

我有一个允许文件上传的Asp.net页面,然后将新上传的文件复制到另一个文件夹。到现在为止还挺好。问题是复制的文件在其他文件夹中用于其他一些需求(例如,使用FileStream打开复制的文件)。但asp.net会锁定复制的文件。只要Visual Studio的内置Web服务器正在运行,我甚至无法使用Windows资源管理器打开复制的文件。我得到一个错误:

该进程无法访问文件'C:\ inetpub \ wwwroot ..... pdf',因为它正由另一个进程使用

以下是部分代码:

 System.IO.File.Copy(targetFolder_live + "\\" + finalfilename, targetFolder_encr + "\\" + finalfilename);

 createpreviewdoc(finalfilename);
////inside the createpreviewdoc function
FileStream stream = new FileStream(targetFolder_encr + "/" + file, FileMode.OpenOrCreate);//Fails with the error!

那么在同一页面加载中删除锁定可以做些什么呢?谢谢!

1 个答案:

答案 0 :(得分:0)

我会以不同的方式尝试复制。

FileInfo fileInfo = new FileInfo("PathToOriginal");
fileInfo.CopyTo("MyNewLocation");

File.OpenText("MyNewLocation"); // works for me