如何使DataURL和Lightbox一起工作

时间:2017-01-04 10:59:47

标签: vb.net

我想使用灯箱。图像在VB.NET(database-sqlserver)中从后端绑定。

这是位于datalist控制器内的HTML:

<a href='<%# Eval("images")%>' rel="lightbox[Brussels]">
<img alt="" src='<%# Eval("images")%>' height="150" width="150" class=" img img-thumbnail" />
</a>

我没有存储图像文件路径。只需将图像存储在 varbinary(max)中,不能给出Link的 href 属性。

我通过 dataurl 引用了超链接 href 属性。它的值是 base64

dr("images") = "data:Image/png;base64," & Convert.ToBase64String(imgbyte)

其中 imgbyte 是字节数组()。

每当我点击图像(从数据库中绑定)时,它应该使用Lightbox进入前面。 但问题是激动,因为图像弹出是部分清晰或30%清晰的休息模糊或根本没有。不知道确切的原因?

我在某处读过Internet Explorer 6或7没有使用dataurl。它可以显示高达32kb的图像。但是我已经在IE11中检查了它。它不起作用。

我们怎样才能在LightBox中使用dataurl显示大尺寸的图像?

我们怎样才能实现这个目标?

1 个答案:

答案 0 :(得分:0)

我看到的唯一方法是实现一个自定义端点,比如说Generic Handler或更加量身定制的端点,它通过提供相应图像的标识符来返回正确的二进制流。

例如

/MyCustomImageProvider.ashx?Id=1

此端点可通过URL访问,此类URL可以提供给LightBox,同时保持图像存储在表而不是物理文件中。

最后,您的aspx代码可能类似于以下

<a href='<%# Eval("images")%>' rel="lightbox[Brussels]">
     <img alt="" src="/MyCustomImageProvider.ashx?Id=<%# Eval("imageId")%>" height="150" width="150" class=" img img-thumbnail" />
</a>