我使用html2canvas来截取div并通过PHP将其上传到服务器。控制台说的是
277ms html2canvas:Canvas渲染器初始化(208x311 at 243.71250915527344,159.40000915527344),刻度1.25
因此看起来它正常工作,但是当PHP将图像上传到服务器时,它有0个字节而无法打开。
PHP:
<?php
$data = $_REQUEST['base64data'];
$image = explode('base64,',$data);
file_put_contents('1.jpg',base64_decode($image[1]));
?>
jQuery的:
<script>
function takeScreenshot(){
var element = jQuery("#vpc-components")[0];
html2canvas(element,{
background:'#FFFFFF',
onrendered:function(canvas){
var imgData = canvas.toDataURL('image/jpeg', 1.0);
$.ajax({
url:'/wp-content/plugins/html2canvas/save.php',
type:'post',
dataType:'text',
data:{base64data:imgData}
});
}
});
}
</script>
有什么想法吗?
答案 0 :(得分:0)
在您的情况下,我会使用您喜欢的浏览器的开发者工具,并检查“网络”选项卡。
检查XHR-Request(在chrome:Ctrl + J中),然后检查Network Tab
然后,您可以轻松查看是否有任何数据传输到您的服务器。
在服务器端添加一些调试,例如
var_dump($_FILES);
var_dump($_REQUEST);
然后重播网络请求(右键点击网络标签中的XHR-Request和“重播XHR”)
通过这种方式,您可以轻松检查数据是否已传输,并且可以进行服务器处理。