灯箱显示乱码而不是图像

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 灯箱显示来自多个画廊的所有图像。只希望显示特定的画廊图像

导航图像在 jQuery 灯箱中未正确显示

如何将内容加载到类似灯箱的叠加层中

具有适当后退按钮支持的 jQuery 灯箱

在尺寸大于大多数桌面分辨率的“灯箱”中裁剪图像的可行解决方案

图像取模后在STM32液晶屏上显示出乱码,啥原因一般都是!!!