ファイルをアップロードする必要があるアプリケーションがあり、それらのファイルをダウンロードするオプションがあります。ファイルをアップロードすると問題なく動作しますが、問題はダウンロード オプションにあります。アップロードファイルをダウンロードしようとすると、以下のエラーメッセージが表示されます
別のプロセスで使用されているため、プロセスはファイル '[filepath]' にアクセスできません。
30 分後に試してみたところ、エラーは発生しませんでしたが、新しいファイルをアップロードしてダウンロードしようとすると、同じエラーが発生します。
以下は私のダウンロードとアップロードのコードです。問題がどこにあるかを理解するのを手伝ってください。
アップロード
FileStream fileStream = File.Create(HttpContext.Current.Server.MapPath("myfile.pdf"), (int)filestream.Length);
byte[] bytesInStream = new byte[filestream.Length];
filestream.Read(bytesInStream, 0, bytesInStream.Length);
fileStream.Write(bytesInStream, 0, bytesInStream.Length);
ダウンロード
HttpContext.Current.Response.ContentType = "application/pdf";
HttpContext.Current.Response.AddHeader("content-disposition", "attachment; filename=myfile.pdf");
FileStream sourceFile = new FileStream(HttpContext.Current.Server.MapPath("myfile.pdf"), FileMode.Open);
long FileSize;
FileSize = sourceFile.Length;
byte[] getContent = new byte[(int)FileSize];
sourceFile.Read(getContent, 0, (int)sourceFile.Length);
sourceFile.Close();
HttpContext.Current.Response.BinaryWrite(getContent);
HttpContext.Current.Response.End();
アップロード後にファイルがリリースされていないようですが、ダウンロード中に問題が発生しないように、アップロード後にそのファイルをリリースする方法がわかりません。