1

ASP/C# を使用してイメージをロードまたはアンロードしようとしているときに発生した問題について、どうしても助けが必要です。私が抱えている問題は、コードを初めて実行して画像をサムネイルにロードするときです。問題はありませんが、画像を削除するか、2 番目または 3 番目の画像をロードしようとすると、イベントが発生し、メモリ不足エラーが発生します。何かがロックされていて、ロックが解除されるまでに時間がかかると思いますが、よくわかりません。

私が使用しているコードは次のとおりです。

protected void btnUploadImgPicture1_ServerClick(object sender, EventArgs e)
    {
        using (filePicture1)
        {
            if (filePicture1.PostedFile.FileName != "")
            {
                imageUtil = new ImageUtility();
                string realPhysicalPath = Path.Combine(Server.MapPath("~/upload/"), filePicture1.PostedFile.FileName);
                filePicture1.PostedFile.SaveAs(realPhysicalPath);
                //imgVehiclePicture1.Src = realPhysicalPath;
                using (imgVehiclePicture1)
                {
                    imgVehiclePicture1.Attributes["src"] = imageUtil.getBase64String(realPhysicalPath);
                    Session.Add("Image1", realPhysicalPath);
                    imageUtil = null;
                }

            }
        }
    }

 public  string getBase64String(string path)
    {
        Image img = Image.FromFile(path);
        byte[] imageBytes = imageToByteArray(img);
        string base64String = Convert.ToBase64String(imageBytes, 0, imageBytes.Length);
        return "data:image/png;base64," + base64String;
    }

このコードを 3 つの異なるイベントで 3 回使用してから、同様のコードを使用して選択した画像をアップロードから削除しています。

4

1 に答える 1