我有一个eModal(http://saribe.github.io/eModal)对话框,我想在其中显示图像。不幸的是,当我运行eModal.ajax('/path/to/image.jpg','View Image');
时,看到的模态充满了二进制数据,而不是我所期望的图像。我已经验证了/path/to/image.jpg是有效的并且可以自行加载。有任何想法吗?我是否以错误的方式调用eModal.ajax()?
edit:所以我还尝试使用iframe加载图像,因为eModal应该可以轻松处理iframe。同样的问题。奇怪的是,如果我在单独的浏览器选项卡(而不是eModal窗口)中打开用于设置iframe的页面,则它可以很好地显示我的图像。仅当在eModal对话框中加载它时,它才会出于某种奇怪的原因显示二进制数据。
第二次编辑:我还尝试制作了一个名为getfile.php的辅助PHP脚本,该脚本仅将图像输出到浏览器,同时确保发送以发送正确的内容类型。以下是我的getfile.php代码,该代码工作正常,但在模式中除外。同样的问题。另外,我发现以下问题似乎也引起了同样的问题,但是没有一个建议的解决方案对我有用:Lightbox displays garbage characters instead of image
<?php
$file = $_REQUEST['img'];
if (file_exists($file))
{
$size = getimagesize($file);
$fp = fopen($file, 'rb');
if ($size and $fp)
{
header('Content-Type: '.$size['mime']);
header('Content-Length: '.filesize($file));
fpassthru($fp);
exit;
}
}
?>
随附的屏幕快照显示了所显示的内容而不是图像:eModal showing binary data instead of image