1

FileStream を使用してキャンバス イメージをサーバーに保存しています。最初は問題なく動作しますが、ユーザーが同じセッション中に (ブラウザーを閉じずに) 再度ページにアクセスすると、「プロセスはファイル 'C:\inetpub\wwwroot\CarmelFinancialWeb\Contracts\MyUniqueImageFileName. png' は別のプロセスで使用されているためです。」FileStream で close と dispose を使用しようとしましたが、これはまだ発生しています

プロセス: - ユーザーは AssignContract ページに移動し、キャンバスに署名して、保存ボタンをクリックします。- 画像がファイルに保存されます - ユーザーが保存ボタンを再度押します (数分待った後でも) - ファイルが別のプロセスによって使用されていることを示すエラー メッセージ。

[AuthorizeAdmin]
    [HttpPost]
    public ActionResult AssignContract(string ID, ModelContract tempCurrentContract, string imageData)
    {
        try
        {
            if (imageData != null)
            {
                string fileName = "MyUniqueImageFileName.png";
                string fileNameWitPath = Path.Combine(Server.MapPath("~/Contracts"), fileName);

                using (FileStream fs = new FileStream(fileNameWitPath, FileMode.Create))
                {
                    using (BinaryWriter bw = new BinaryWriter(fs))
                    {
                        byte[] data = Convert.FromBase64String(imageData);
                        bw.Write(data);
                        bw.Close();
                        bw.Dispose();
                    }
                    fs.Close();
                    fs.Dispose();
                }
            }
        }
        catch (Exception ex)
        {
            throw ex;
        }
...

アップデート

これに関するフィードバックはありません。ファイルがロックされないようにする方法、またはファイルのロックを解除する方法について、誰か提案がありますか? ありがとうございました。

4

1 に答える 1