使用System.Data.Linq.Binary对象作为HTML图像源

时间:2010-09-30 01:53:26

标签: linq-to-sql asp.net-mvc-2

我正在使用ASP.NET MVC并且拥有一个具有System.Data.Linq.Binary属性的模型。该属性表示已作为图像列存储在数据库中的图片。

通过设置单独的控制器操作并使用Response.OutputStream.Write转储Binary对象,然后将控制器操作设置为HTML img源,我可以在页面中使用图片。

我想知道是否有任何方法可以直接在视图中使用二进制对象而无需单独的控制器操作?我的想法是实现以下目标,我知道它不起作用,但它展示了我希望能够做到的事情。

<img src="<%= Model.MyBinaryProperty%>" />

1 个答案:

答案 0 :(得分:1)

根据问题的性质,没有。

您可以模拟它,但您将始终依赖于为图像提供服务的单独请求。

选项太多了,其中一些:

  • 使用常规的asp.net处理程序
  • 仅在单独的请求中检索临时存储并在请求期间从那里进行服务。通常越早越好
  • 使用控制器操作
  • 取决于负载特性,仅在确实需要时,从其他服务器提供图像下载
  • 设置提供图像的路线+路线处理程序
  • 设置一个动作过滤器,由某些约定处理服务图像,而无需显式定义单独的动作方法。
  • 我确定还有其他人......