在服务器上上传图片html2canvas

时间:2019-03-04 09:59:27

标签: php jquery jquery-ui nginx html2canvas

enter image description here我有这个js:

$.ajax({
   url: 'ajaxfile.php',
   type: 'POST',
   data: {
        image: base64URL
   },
   success: function(data){
       console.log(data);
       $.notify("info", "Upload successfully");
   },
   error: function () {
       $.notify("Error on image upload");
   }
});

PHP代码:

<?php
  $image = $_POST['image'];
  $location = "src/upload/";
  $image_parts = explode(";base64,", $image);
  $image_base64 = base64_decode($image_parts[1]);
  $filename = "screenshot_".uniqid().'.png';
  $file = $location . $filename;
  file_put_contents($file, $image_base64);
  return [
     'status' => true
  ]
?>

调用已完成(在浏览器控制台中看到),但在console.log上,我返回了php代码。似乎什么也没有发生,因此未实现代码php。你有主意吗?提前谢谢,对不起我的英语

我放置了有错误的图像

1 个答案:

答案 0 :(得分:0)

file_put_contents()在失败时返回false,因此您可以将其分配给变量,并使用它来确定状态,如下所示:

<?php
    $image = $_POST['image'];
    $location = "src/upload/";
    $image_parts = explode(";base64,", $image);
    $image_base64 = base64_decode($image_parts[1]);
    $filename = "screenshot_".uniqid().'.png';
    $file = $location . $filename;

    $imageData = file_put_contents($file, $image_base64);

    if ($imageData !== false) {
        echo "success";
    } else {
        http_response_code(500);
        die();
    }
?>