灯箱显示乱码而不是图像
Posted
技术标签:
【中文标题】灯箱显示乱码而不是图像【英文标题】:Lightbox displays garbage characters instead of image 【发布时间】:2012-05-21 10:37:56 【问题描述】:我在我的网站中安装了一个灯箱脚本。当灯箱弹出时,显示的是乱码而不是大图:
����JFIF��;CREATOR: gd-jpeg v1.0 (using IJG JPEG v62), quality = 90 ��C ��C ����"�� ���!1AQa"q2���#B��R��$3br� %&'()*456789:CDEFGHIJSTUVWXYZcdefghijstuvwxyz�������������������
这是什么?看起来它与图像文件有关,但我不明白是什么导致了这个问题......有什么建议吗?
编辑:Here's the whole code of the image。
【问题讨论】:
那些“垃圾字符”实际上是JPEG图像文件中二进制数据的字符串表示形式。 我明白了……但是为什么图片显示不正常? 一根绳子有多长?我不看就说不出来。您的问题也是如此 - 我们需要查看代码。 我添加了一个指向包含图像代码的文本文件的链接。 【参考方案1】:在您使用 GD 库动态创建图像的 php 文件中编写以下代码。
header("content-type:image/jpg");
或者如果是png图片那么
header("content-type:image/png");
从代码来看,它似乎是一个 jpg 文件。但是你应该知道格式。
基本上是php文件而不是灯箱的问题。
【讨论】:
【参考方案2】:我在做一些随机任务后才得到这个。在我尝试将它们加载到灯箱中之前,无法看到为什么图像显示正常,结果是 html 属性在文件名的末尾有非显示字符。
<a href="image1.jpg"><img src="image1.jpg" /></a>
变成了:
<a href="image1.jpg
"><img src="image1.jpg
" /></a>
修剪文件名(在我的例子中使用 PHP 的 trim() 函数)以删除这些错误字符使其行为正确。
【讨论】:
【参考方案3】:你必须更新 colorbox js 文件如下:
photoRegex: /\.(gif|jfif|png|jp(e|g|eg)|bmp|ico|webp|jxr|svg)((#|\?).*)?$/i,
【讨论】:
以上是关于灯箱显示乱码而不是图像的主要内容,如果未能解决你的问题,请参考以下文章
Bootstrap Image Gallery 灯箱显示来自多个画廊的所有图像。只希望显示特定的画廊图像