我正在img
使用以下方法在标签中显示从数据库获得的图像(存储为长 blob):
<img src="http://localhost:3000/show_image/265" />
show_image 函数从数据库中获取图像数据并使用该方法将其呈现给img
标签。send_data
在img
标签上应用 Fancybox 时,数据显示为 BLOB 数据而不是图像。
任何人都可以提出一个原因吗?或者我该如何解决这个问题?
1)您必须将 fancyBox 应用于链接(而不是图像),并且结构应该是这样的 -
<a class="fancybox" href="big_image"><img src="small_image" /></a>
示例 - http://jsfiddle.net/CYCeM/。
好吧,实际上可能只有图像,但是你必须使用“data-fancybox-href”属性来指定大的 - http://jsfiddle.net/6ZSWB/
2)看起来脚本无法从您的 href 中猜测内容类型。你必须要么 -
a) 创建具有扩展名的链接,例如“http://localhost:3000/show_image/265.jpg”
b) 为 fancybox 设置内容类型,例如 -$('.fancybox').fancybox(type : 'image');
设置 :type => "image/jpg" 解决了这个问题。我查看了 MIME 内容类型,发现它写错了。