最近,我一直在用.NET c#开发一个网站,我一直在尝试通过db中的imagepath显示图像。它目前正在使用这一行代码。
return File(byte array, "image/jpeg");
问题是,通过这行代码,布局页面被完全忽略,因为只显示带有白色背景的图像。我需要显示图像以及返回视图(网站布局中的图像)。 THX
答案 0 :(得分:1)
您没有看到任何内容的原因是因为每个请求只能有一种类型的响应;包含HTML的响应或包含图像的响应。
为了通过您的应用程序提供图像,您需要做的是设置一条路径,您可以将<img>
标记作为src
属性添加。
<img src="/static/images/123">
您的路由会在/static/images/
路径上侦听请求,然后尝试在最后解析ID号。然后,它可以获取该ID号(123
)并在数据库中查找相关图像。
因此,要明确的是,您至少会发出两个请求;首先,您提供页面请求,然后您提供对图像的后续请求。这两个请求处理程序不共享相同的代码。
最后,如果确实希望将图像“内联”为页面响应的一部分,那么将图像“内嵌”到页面中的唯一方法是对其进行base64编码并设置与src
标记的<img>
一样。这个过程很慢并且使你的HTML膨胀,这使得加载时间更长。