我有一个允许文件上传的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!
那么在同一页面加载中删除锁定可以做些什么呢?谢谢!
答案 0 :(得分:0)
我会以不同的方式尝试复制。
FileInfo fileInfo = new FileInfo("PathToOriginal");
fileInfo.CopyTo("MyNewLocation");
File.OpenText("MyNewLocation"); // works for me