无法将Base64图像设置为背景图像MVC

时间:2020-07-16 09:27:32

标签: c# asp.net-mvc

我正在尝试将模态中的Base64图像获取设置为我的身体HTML。

因此,在@section渲染CSS的地方,我添加了以下代码:

@section Css {
    <link href="@Url.Content("~/css/index.css")" rel="stylesheet" />
    <style>
        body {
            background-color: @Model.bg_color;
            background-image: url(data:image/png;base64,@Model.bg_image);
        }
    </style>
}

@Model.bg_image格式获取的图片采用正确的base64格式,因为通过在在线Base64转换器之一中设置其值即可生成正确的图片。

但是,当页面加载时,出现以下错误,而不是显示为背景图像:

GET data:image/png;base64,/9j/4AAQSkZJRgABAgEAAAAAAAD/7gAOQWRvYmUAZAAAAAAB/9sAQwAGBAQEBQQGBQUGCQYFBgkLCAYGCAsMCgoLCgoMEAwMDAwMDBAMDg8QDw4MExMUFBMTHBsbGxwfHx8fHx8fHx8f/9sAQwEHBwcNDA0YEBAYGhURFRofHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8f/8AAEQgBsgMAAwERAAIRAQMRAf/EAB0AAAEFAQEBAQAAAAAAAAAAAAUBAgMEBgcACAn/xABREAACAQMDAgQDBQYDBgMFAw0BAgMAEQQhEgUxQVEiEwZhcTKBkUIUB6GxwVIjM9FiFeFygkMkNPDxFpKissJT0mNzgzU2k7NUdCXiRCYXCP/EABoBAAMBAQEBAAAAAAAAAAAAAAABAgMEBQb/xAA4EQACAgIBAwIFAgUCBwEAAwAAARECIQMxQRIEUSJhcTITBfCBkaGxwULRFOFSYnKCIzPxokMV/9oADAMBAAIRAxEAPwDsvG8QmFNlSnJlyZMuX1WeU32ix8i26KL1ChKENsJCOyEDS5PTpQIU3ta97WG463tQBFl3MQ00BBNNCK& net::ERR_INVALID_URL

JSFiddle中的HTML

编辑:我刚刚注意到Model.bg_image中返回的值与设置为base64的值不同,例如+字符设置为&#x2B;,因此图像不是呈现

2 个答案:

答案 0 :(得分:0)

您应该将其转换为字符串,尝试一下;

 @{
 string imgSrc = "";
if (Model.bg_image != null)
 {
 var base64 = Convert.ToBase64String(Model.bg_image);
 imgSrc = String.Format("data:image/gif;base64,{0}", base64);
 }
 }

 @section Css {
  <link href="@Url.Content("~/css/index.css")" rel="stylesheet" />
  <style>
    body {
        background-color: @Model.bg_color;
        background-image: url(@imgSrc);
    }
   </style>
 }

答案 1 :(得分:0)

JSFiddle中的Base64字符串包含HTML转义的public class PlanetSpawner : MonoBehaviour { public static List<PlanetSpawner> planetList = new List<PlanetSpawner>(); public PlanetSpawner(Vector3 aStartingCoord, GameObject planet) { GameObject.Instantiate(planet,aStartingCoord,new Quaternion(0,0,0,0)); planet.transform.position = aStartingCoord; } } 字符:

+

您可能想使用[...] a97WG463tQBFl3MQ00BBNNCK&#x2B;ZxuByOLHB [...] 函数来防止ASP.NET转义Base64字符串:

@Html.Raw()
相关问题