使用base64字符串显示图像,但不显示图像



我正在将内存蒸汽转换为字节数组并对其编码ToBase64String

return Ok(Convert.ToBase64String(memoryStream.ToArray()));

在客户端,我正在执行以下操作来显示图像

var response = await client.GetAsync(Navigator.BaseUri+ "upload/process");
if (response.IsSuccessStatusCode)
{
imagesrc = string.Format("data:image/jpeg;base64,{0}", response.Content.ToString());
StateHasChanged();
}

但是没有显示图像,它给出以下错误

Failed to load resource: net::ERR_INVALID_URL

更新:这就是图像的设置方法

<img src="@imagesrc" width="300px" height="300px" style="border: 1px solid #4f4f50; border-radius: 1px" />

您可以使用ReadAsStringAsync()作为异步操作将HTTP内容序列化为字符串。

var response = await client.GetAsync(Navigator.BaseUri+ "upload/process");
if (response.IsSuccessStatusCode)
{
var base64 = await response.Content.ReadAsStringAsync();
imagesrc = string.Format("data:image/jpeg;base64,{0}", base64);
StateHasChanged();
}

net::ERR_INVALID_URL意味着您的base64(来自response.Content.ToString())不是有效的base64。

所以错误在你遗漏的代码中。发布完整的控制器和客户端代码。包括参数和[Attributes]。

最新更新