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 回使用してから、同様のコードを使用して選択した画像をアップロードから削除しています。