アップロードされた画像を処理する次の関数があります。
最初の試行 (IIS の再起動後) では正常に動作しますが、2 回目の試行では常に取得されます
ファイルが別のプロセスによって使用されているため、プロセスはファイルにアクセスできません
さて、どういうわけかファイルがIISによって開かれたままになっていることは理解していますが、
newFile.Flush();
newFile.Close();
newFile.Dispose();
完全な機能は次のとおりです。
private void SaveFile(HttpPostedFile file, string path)
{
Int32 fileLength = file.ContentLength;
string fileName = file.FileName;
byte[] buffer = new byte[fileLength];
file.InputStream.Read(buffer, 0, fileLength);
FileStream newFile = new FileStream(path, FileMode.Create, FileAccess.Write);
try
{
newFile.Write(buffer, 0, buffer.Length);
}
catch { }
finally
{
newFile.Flush();
newFile.Close();
newFile.Dispose();
}
}
更新:いくつかのチェックの後、IIS プロセス
以外にファイルをロックしているものはないと確信しています。w3wp.exe