При использовании VS2022, C#, Blazor и jquery код сначала загружает «C:\Images\defaultImage.png» в область холста на странице:
await JS.InvokeVoidAsync("loadImageOnCanvas", "CanvasId", "/scripts/defaultImage.png");
Это изображение затем сохраняется в базе данных. В другой день пользователь извлекает изображение из базы данных и загружает его на холст. На этом этапе, после загрузки изображения, пользователю необходимо знать, является ли это изображение тем же, что и defaultImage.png, ранее сохраненный в базе данных, или defaultImage.png был изменен/заменен.
ПРИМЕЧАНИЕ. Это простое черно-белое изображение размером всего 27 КБ и размером 241 x 154 пикселей.
Чтобы проверить это, я использую приведенный ниже код, но если оба по сравнению
они никогда не равны. Тот, что с холста, всегда немного больше по размеру, около 1к.
// Retrieve the image that was loaded on canvas
var canvasImage = await JS.InvokeAsync("captureCanvasImage", "CanvasId");
canvasImage = canvasImage.Replace("data:image/png;base64,", String.Empty);
// byte[27980]
byte[] imageOnCanvas_Bytes = Convert.FromBase64String(canvasImage);
// byte[26978]
byte[] defaultImage_Bytes = File.ReadAllBytes("wwwroot/scripts/defaultImage.png");
// Compare as string returns FALSE
var result = canvasImage == Convert.ToBase64String(defaultImage_Bytes);
// Compare byte arrays returns FALSE
var result2 = imageOnCanvas_Bytes.SequenceEqual(defaultImage_Bytes);
Подробнее здесь: https://stackoverflow.com/questions/788 ... p-and-jque