javascript - eModal 显示二进制数据而不是图像
问题描述
我有一个 eModal ( http://saribe.github.io/eModal ) 对话框,我想在其中显示图像。不幸的是,当我运行时,eModal.ajax('/path/to/image.jpg','View Image');
我看到我的模态充满了二进制数据,而不是我所期望的图像。我已经验证 /path/to/image.jpg 是有效的,并且可以自行加载。有任何想法吗?我是以错误的方式调用 eModal.ajax() 还是什么?
编辑:所以我也尝试使用 iframe 加载图像,因为 eModal 应该允许轻松处理 iframe。同样的问题。奇怪的是,如果我在单独的浏览器选项卡(不是 eModal 窗口)中打开设置 iframe 的页面,它会很好地显示我的图像。只有在 eModal 对话框中加载它时,它才会出于某种奇怪的原因显示二进制数据。
第二次编辑:我还尝试制作一个名为 getfile.php 的辅助 PHP 脚本,它只是将图像输出到浏览器,同时确保发送以发送正确的内容类型。下面是我的 getfile.php 代码,它工作正常,除了在模式中。同样的问题。此外,我发现以下问题似乎引发了同样的问题,但没有建议的解决方案对我有用:Lightbox 显示垃圾字符而不是图像
<?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 显示二进制数据而不是图像
解决方案
推荐阅读
- c++ - PyBind11:返回对 std::unique_ptr 的 std::vector 的 const 引用
- react-native - React-Native FilesyStem 下载
- range - 如何将 context.document.getSelection().getTextRanges(["."], true) 转换为范围
- python - 如何在黑色背景中去除深色文本
- c++ - 如何解决 C++ 中的 sonarqube 静态代码分析错误“显式定义缺少的复制构造函数,移动构造函数..”
- angular - 我的 NgFor 有什么问题?仅支持绑定到 Iterables,例如 Arrays
- python - SQLAlchemy 过滤器将 datetime.time 转换为 datetime.datetime
- javascript - 如何在 Google 跟踪代码管理器限制中的表单验证后执行代码?
- python - 使用 selenium 驱动程序在 Odoo 中启动 selenium
- javascript - 多个值 React Select ValueContainer 取决于输入是否被聚焦