Php 使用html2canvas捕获图像,尝试将其上载到服务器,但它不是';Don’我不是一直在工作

Php 使用html2canvas捕获图像,尝试将其上载到服务器,但它不是';Don’我不是一直在工作,php,html2canvas,Php,Html2canvas,我得到了一个用于电子签名的模块,允许用户打开文档,在其上签名,然后将其上载到我的服务器。因此,我使用HTML2Canvas捕获签名文档,然后将图像上传到我的服务器。我在这里的问题是模块不稳定,有时它的工作,但有时上传的图像是0字节(空)。我想知道有谁能对此提供建议。以下是我的脚本: HTML2Canvas <div id="pdf" style="page-break-after: always; padding:3px;"> Some codes </div>

我得到了一个用于电子签名的模块,允许用户打开文档,在其上签名,然后将其上载到我的服务器。因此,我使用HTML2Canvas捕获签名文档,然后将图像上传到我的服务器。我在这里的问题是模块不稳定,有时它的工作,但有时上传的图像是0字节(空)。我想知道有谁能对此提供建议。以下是我的脚本:

HTML2Canvas

<div id="pdf" style="page-break-after: always; padding:3px;">
  Some codes
</div>

一些代码

(函数($){
$(文档).ready(函数(){
$(“#提交3”)。单击(功能(e){
html2canvas(document.querySelector('pdf'),{scale:2})。然后(canvas=>{
var sono=“”;
var photo=canvas.toDataURL('image/jpeg');
var xhr=new XMLHttpRequest();
open('POST','upload.php',true);
xhr.send(照片+“sono=“+sono”);
});
})
})
})(jQuery)
upload.php

<?php

    /*Get data */
    $data = file_get_contents('php://input');

    $fsono = strpos($data, 'sono=');
    $sono = substr($data, $fsono + 5, 4);

    list($type, $data) = explode(';', $data);
    list(, $data)      = explode(',', $data);

    $data = base64_decode($data);

    $fname = 'Signed-'.$sono.'.jpg'; // name the file
    //$fname = '123';

    $file = fopen("uploads/" .$fname, 'w'); // open the file path
    fwrite($file, $data); //save data
    fclose($file);
?>

<?php

    /*Get data */
    $data = file_get_contents('php://input');

    $fsono = strpos($data, 'sono=');
    $sono = substr($data, $fsono + 5, 4);

    list($type, $data) = explode(';', $data);
    list(, $data)      = explode(',', $data);

    $data = base64_decode($data);

    $fname = 'Signed-'.$sono.'.jpg'; // name the file
    //$fname = '123';

    $file = fopen("uploads/" .$fname, 'w'); // open the file path
    fwrite($file, $data); //save data
    fclose($file);
?>