使用ajax和php将画布上下文上传为图像

使用ajax和php将画布上下文上传为图像,第1张

使用ajax和php将画布上下文上传为图像

这篇博客文章恰当地描述了使用AJAX查询将画布保存到服务器上的方法,我想这应该适合您。

基本上,您需要使用

var canvasData =testCanvas.toDataURL("image/png");
Javascript来检索画布的内容。这将是base64编码的字符串,如下所示:
data:image/png;base64,fooooooooooobaaaaaaaaaaar==

以下代码将确保AJAX查询将内容发送到HTML:

var ajax = new XMLHttpRequest();ajax.open("POST",'testSave.php',false);ajax.setRequestHeader('Content-Type', 'application/upload');ajax.send(canvasData);

在服务器上的PHP脚本中,您将

HTTP_RAW_POST_DATA
$GLOBALS
数组中拥有一个名为key的键,其中将包含我们刚刚获取的数据。

// Remove the headers (data:,) part.$filteredData=substr($GLOBALS['HTTP_RAW_POST_DATA'], strpos($GLOBALS['HTTP_RAW_POST_DATA'], ",")+1);// Need to depre before saving since the data we received is already base64 enpred$depredData=base64_depre($filteredData);$fp = fopen( 'test.png', 'wb' );fwrite( $fp, $depredData);fclose( $fp );

当然,

test.png
就是您要保存的文件名。需要第一行来删除
data:image/png;base64,
编码图像的一部分,以便以后可以使用对其进行解码
base64_depre()
。它的输出(
$depredData
)将保存到文件中。



欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/5016404.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-11-14
下一篇 2022-11-14

发表评论

登录后才能评论

评论列表(0条)

保存