我正在尝试使用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调用,这可能是一个安全风险,具体取决于数据。