eModal显示二进制数据而不是图像

时间:2019-01-20 19:11:10

标签: javascript php jquery html5 modal-dialog

我有一个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

0 个答案:

没有答案