使用fancybox显示blob图像的问题


issues using fancybox to display blob images

我正在尝试使用fancybox来显示图像。我的图像是mysql数据库中的斑点。

这是我正在使用的html.php:

<a class="fancybox-buttons" data-fancybox-group="g1" href="data:image/jpeg;base64,<?php echo base64_encode($pic['screenshot']); ?>"><img src="data:image/jpeg;base64,<?php echo base64_encode($pic['screenshot']); ?>" width="150px" height="250px"/></a>

这是可行的,但当页面加载时,当我在图像上移动鼠标时,我会遇到奇怪的闪烁重影图像问题。

图像显示部分:

<a class="fancybox fancybox.iframe" href="blob:http://localhost:8080/a71e1fb6-8482-49cf-88fa-a29dfc71e39e">
    <img src="blob:http://localhost:8080/a71e1fb6-8482-49cf-88fa-a29dfc71e39e"/>
</a>

通过这种方式设置fancybox的文档类型(当页面加载时):

jQuery(document).ready(function() {
    $(".fancybox").fancybox({type : 'image'});
}

成功来了。

当将花式框与pdf或其他文件类型(而非图像)一起使用时,我们设置其他适当的值。

我甚至不知道你做了什么是可能的。我认为更好的方法是创建一个脚本来动态地为您的图像提供服务器。。。

因此,image src将是"image.php?id=123",然后您将拥有image.php服务脚本,即…

使用PHP脚本提供图像与直接加载图像

我对你的应用程序了解不够,但将图像存储在数据库中是个好主意。。他们似乎要迅速把数据库做大。

我没有足够的分数可以评论,所以我要把我的2美分放在这里。希望能有所帮助。

移动设备上可能不完全支持blob存储。https://developer.mozilla.org/en-US/docs/Web/API/Blob

因此,image src将是"image.php?id=123",然后您将拥有image.php服务脚本,即…

这是一个非常好的主意,除了在我的情况下,我们使用Web API和MVC/ADFS身份验证模型。Web API是一个无状态Web服务,所以该选项并不总是在任何地方都有效。为了让它发挥作用,我们必须允许匿名访问API调用,这可能是一个安全风险,具体取决于数据。