PHP数据URI到图像文件错误-Windows无法预览

PHP数据URI到图像文件错误-Windows无法预览,php,html5-canvas,base64,Php,Html5 Canvas,Base64,我尝试转换使用 canvas.Canvas.toDataURL(); 我只是尝试使用以下代码将数据URI存储为图像 <?php $data = $_POST['image_designed']; echo $data; //Data URI echo '<img src="'.$data.'"/>'; //Getting the image perfectly //removing the "data:image/png;base64," part $uri = subst

我尝试转换使用

canvas.Canvas.toDataURL();
我只是尝试使用以下代码将数据URI存储为图像

<?php $data = $_POST['image_designed'];
echo $data; //Data URI
echo '<img src="'.$data.'"/>'; //Getting the image perfectly
//removing the "data:image/png;base64," part
$uri =  substr($data,strpos($data,",")+1);

header('Content-type: image/png');
echo base64_decode($uri);exit; //Just image place holder displaying instead of full image

最终的图像结果是错误的。只是显示一个错误图像占位符。我猜原因是“我发现$data中间有很长的空间”。但是它在src标记中很好地呈现了图像。

您在同一个脚本中显示的代码是否相同?如果是这样的话,在同一个响应中输出HTML代码和图像数据不起作用应该是合乎逻辑的……不,我只是展示了示例。只有最后一个输出预期在空白页中显示图像。注释掉
标题
调用并直接在浏览器中调用脚本–有错误消息吗?没有错误消息。以
�巴布亚新几内亚IHDR�,���� IDATx^L�Y�%�y��F�=�̪�Z������f���h4�# ��?���o�1cc����/|c�
$data = data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAPoAAAEsCAYAAADq/K67AAAgAElEQVR4Xky9WY8l6Xnn90acPffMqspauqqrit3sZrO5z2g0FATJIw0G8L0/gr
//Very longer data than this which cannot be pasted here