上传的图像有0个字节

时间:2018-01-17 10:28:07

标签: php image upload

我使用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>

有什么想法吗?

1 个答案:

答案 0 :(得分:0)

在您的情况下,我会使用您喜欢的浏览器的开发者工具,并检查“网络”选项卡。

检查XHR-Request(在chrome:Ctrl + J中),然后检查Network Tab

然后,您可以轻松查看是否有任何数据传输到您的服务器。

在服务器端添加一些调试,例如

var_dump($_FILES);
var_dump($_REQUEST);

然后重播网络请求(右键点击网络标签中的XHR-Request和“重播XHR”)

通过这种方式,您可以轻松检查数据是否已传输,并且可以进行服务器处理。

XHR request insepction