在 blazor 中显示字节数组中的图像

sam*_*did 7 blazor blazor-webassembly

我正在使用 blazor web assembly,我需要显示在客户端存储为字节数组的图像。

我试过

在 C# 中:

imagesrc= Convert.ToBase64String(imageBytes);
imageDataURL = string.Format("data:image/jpeg;base64,{0}", imagesrc);
Run Code Online (Sandbox Code Playgroud)

在标记中:

<img src="@imageDataURL" />
Run Code Online (Sandbox Code Playgroud)

但没有显示图像,只是没有图像的图标。

还有其他办法吗?

Józ*_*cki 8

我很好奇你指定了哪种图像格式而不是 jpeg,就像你在 @Henk 答案下所说的那样,它svgPHN2Z...

这并不意味着您必须使用某些 svg 到 jpeg 转换器,只需适当调整数据 uri 类型:

imageDataURL = string.Format("data:image/svg+xml;base64,{0}", imagesrc);
Run Code Online (Sandbox Code Playgroud)

这是快速 blazor 游乐场,显示各种图像文件的数据 uri


Hen*_*man 3

jpg 文件有一个标准标头。因此,即使使用不同的图像,我也希望 Base64 的前几个字符是相同的。

当我将 jpg 转换为 base64 时,它以"/9j/4AAQ"

所以我认为你的数据不是(有效/完整)jpg 文件。