使用Base64字符串显示图片失败,报错net::ERR_INVALID_URL
问题解决:Base64图片无法加载(ERR_INVALID_URL)
问题根源
你客户端代码里的response.Content.ToString()是错误的——这个方法返回的是HttpContent对象的类型名称(比如System.Net.Http.StringContent),不是接口返回的Base64字符串。用这个无效字符串拼接出来的data URL自然会触发ERR_INVALID_URL错误。
修复步骤
把客户端获取响应内容的代码改成异步读取字符串:
var response = await client.GetAsync(Navigator.BaseUri + "upload/process"); if (response.IsSuccessStatusCode) { // 用ReadAsStringAsync()读取实际的Base64内容 var base64Str = await response.Content.ReadAsStringAsync(); imagesrc = string.Format("data:image/jpeg;base64,{0}", base64Str); StateHasChanged(); }
额外验证点
- 确认后端返回的Base64字符串是合法的:直接在浏览器访问
Navigator.BaseUri + "upload/process",查看返回的内容是否是无多余字符的Base64编码串 - 确保
data:image/jpeg;base64里的图片格式和实际图片一致:如果后端生成的是PNG,要改成data:image/png;base64
内容的提问来源于stack exchange,提问作者techno
相关产品推荐
相关产品推荐

