Javascript base64图像未在html中显示
我试图显示我在php文件中转换的base64图像。但是,当图像不可用或不存在时,“我的html”中的图像显示为通用图像占位符。 万一有人想知道我在试图显示属于特定网页表单的图像。然而,我有很多表单,当我点击其中一个表单时,我希望能够看到相关的图像 我已经走了这么远: 我的PHP文件如下所示:Javascript base64图像未在html中显示,javascript,php,Javascript,Php,我试图显示我在php文件中转换的base64图像。但是,当图像不可用或不存在时,“我的html”中的图像显示为通用图像占位符。 万一有人想知道我在试图显示属于特定网页表单的图像。然而,我有很多表单,当我点击其中一个表单时,我希望能够看到相关的图像 我已经走了这么远: 我的PHP文件如下所示: $imageDate = date_format($currentdate, 'YmdHis'); $path = 'C:/Temp/MgrReportUploads'; $type = pathinfo(
$imageDate = date_format($currentdate, 'YmdHis');
$path = 'C:/Temp/MgrReportUploads';
$type = pathinfo($path, PATHINFO_EXTENSION);
$files = glob($path.
'/'.$imageDate.
'_*');
if (!empty($files)) {
foreach($files as $image) {
$vals['encodedImages'] = 'data:image/'.$type.
';base64,'.base64_encode($image);
}
}
echo json_编码$VAL;
在“网络”选项卡上,响应如下所示
返回图像:{,…}
images: "data:image/jpg;base64,QzovVGVtcC9NZ3JSZXBvcnRVcGxvYWRzLzIwMTkxMTA4MTM0MzM5X2plZGkxLmpwZw=="
js文件
//窗体和图像上的回调变量
onSuccess: function(data) {
var imgList = document.querySelector('#imageLst'); //div
var img = document.createElement("img");
img.setAttribute("src", data.encodedImages);
imgList.append(img);
}
将base64_encode$image更改为base64_encodefile_get_contents$image
glob返回一个包含匹配文件/目录的数组,如果没有匹配的文件,则返回一个空数组,否则返回FALSE
您必须将文件内容而不是文件路径传递到base64_encode,我会试试,有什么区别吗?您应该将文件内容传递到base64_encode,而不是文件路径。啊啊啊啊,这很有效!这完全有道理。还有一个问题,如果有多个图像与我上面列出的短语匹配,它们应该能够正确传递?是的。我必须过滤掉这个目录。即使它们都在同一个文件夹中?