2012-01-19 12 views
0

ファイルのアップロードが可能なAsp.netページがあり、新しくアップロードされたファイルを別のフォルダにコピーします。ここまでは順調ですね。問題は、コピーされたファイルが他のいくつかの必要性のために他のフォルダで使用されていることです(たとえば、コピーしたファイルを開くためにFileStreamを使用するなど)。しかし、asp.netは、コピーされたファイルをロックします。 Visual StudioのビルトインWebサーバーが動作している限り、Windowsエクスプローラを使用してコピーしたファイルを開くことさえできません。asp.net File.Copy Lock

プロセスファイルにアクセスできません:私はのようなエラーが取得

:それは別のプロセスによって使用されているため、「C PDF ..... \のinetpub \ wwwrootに」がここで

は、部分的なコードです。

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

私は別の方法でコピーを試みます。

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

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

oops! FileStream stream =新しいFileStream(targetFolder_encr + "/" + file + "_encr.pdf"、FileMode.OpenOrCreate); – IrfanClemson

+0

FileInfo fileInfo =新しいFileInfo(targetFolder_live + "\\" + finalfilename);fileInfo.CopyTo(targetFolder_encr + "\\" + finalfilename); // ***同じエラー*** – IrfanClemson

+0

プレビューメソッドでファイルを開くストリームがありますか? – OnResolve