使用c#.net显示数据库中的图像

时间:2016-12-11 19:40:47

标签: c# asp.net

最近,我一直在用.NET c#开发一个网站,我一直在尝试通过db中的imagepath显示图像。它目前正在使用这一行代码。

return File(byte array, "image/jpeg");

问题是,通过这行代码,布局页面被完全忽略,因为只显示带有白色背景的图像。我需要显示图像以及返回视图(网站布局中的图像)。 THX

1 个答案:

答案 0 :(得分:1)

您没有看到任何内容的原因是因为每个请求只能有一种类型的响应;包含HTML的响应或包含图像的响应。

为了通过您的应用程序提供图像,您需要做的是设置一条路径,您可以将<img>标记作为src属性添加。

<img src="/static/images/123">

您的路由会在/static/images/路径上侦听请求,然后尝试在最后解析ID号。然后,它可以获取该ID号(123)并在数据库中查找相关图像。

因此,要明确的是,您至少会发出两个请求;首先,您提供页面请求,然后您提供对图像的后续请求。这两个请求处理程序不共享相同的代码。

最后,如果确实希望将图像“内联”为页面响应的一部分,那么将图像“内嵌”到页面中的唯一方法是对其进行base64编码并设置与src标记的<img>一样。这个过程很慢并且使你的HTML膨胀,这使得加载时间更长。