我在HTML5画布中有一张图片,该图片取自网络摄像头的直播。当我将帧作为快照并将其保存在画布中时,我会这样做
var myImage = canvas.toDataURL("image/png");
dom.write('<form method="post" action="upload.php"><input type="myImage" value="'+myImage+'" /><input type="submit" value="Submit" /></form>')
并在upload.php中我这样做
header("Content-type: image/png");
$img= $_GET["myImage"];
echo '<img src="data:image/gif;base64,'.$img.'" />';
这样做我在页面加载时得到一个弹出窗口,当提交表单时,它给了我
data:image/png;base64,"VERY HUGE STRING"
我想把它作为一个图像。请帮忙
答案 0 :(得分:2)
您对header
的来电表示您希望输出实际的PNG图像作为对请求的响应。但是,然后您写出一个HTML标记,该标记在PNG文件中无效。
如果您想要写出PNG图像本身,假设$img
包含有效的PNG格式图像,您可以使用base64_decode
函数解码base64:
echo base64_decode($img);
如果您想在HTML网页上展示图片,请将header
来电更改为阅读Content-Type: text/html
。
答案 1 :(得分:2)
canvas.toDataURL()已包含data:image/***;base64,
部分,因此请将其从输出中删除。