PHP画布图像上传到远程服务器

密码

我正在尝试将画布图像(使用html2canvas)上传到远程服务器,正在创建文件名,但大小为0字节。

$(function click1() { 
    $("#share").click(function() { 
    $("#load").show();
        html2canvas($("#backdrop1"), {
            onrendered: function(canvas) {
               var data1 = canvas.toDataURL('image/png');
     //display 64bit image
     var image = new Image();
    image.src = data1;
    $.ajax({
                        url: 'uploading.php',
                        type: 'post',
                        data: {img_val: data1},
                        datatype: 'html',
                        success: function fbs_click1() {
    $("#load").hide();
}
                    });
            }
        });
    });
});

上面的Jquery代码生成了无意义的图像。

//Uploading.php

<?php
 $imaged = $_POST['img_val'];
 $filename  = $_FILES[$imaged]['tmp_name'];
 $handle    = fopen($filename, "r");
 $data      = fread($handle,filesize($filename));
 $POST_DATA = array(
   'img_value' => base64_encode($data)
 );
 $curl = curl_init();
 curl_setopt($curl, CURLOPT_URL, 'http://example.com/upload.php');
 curl_setopt($curl, CURLOPT_TIMEOUT, 30);
 curl_setopt($curl, CURLOPT_POST, 1);
 curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);
 curl_setopt($curl, CURLOPT_POSTFIELDS, $POST_DATA);
 $response = curl_exec($curl);
 curl_close ($curl);
?>

和服务器端的处理程序脚本即。upload.php

<?php
    $img = $_REQUEST['img_value'];
    $img = str_replace('data:image/png;base64,', '', $img);
    $img = str_replace(' ', '+', $img);
    $data = base64_decode($img);
    $file = 'test.png';
    $success = file_put_contents($file, $data);
?>

请帮助我,我已经尝试了多种保存方法,但是我没有做到。

parix

这是您的代码AJAX您应该将接收canvas到的图像数据直接传递到服务器。

  1. 在浏览器中,您收到base64编码的图像内容

  2. 然后,将该内容以纯文本格式传递到本地服务器。

  3. 在本地服务器上,您无需执行任何操作,只需通过CURL以RAW格式传递数据即可。
  4. 最后,您可以将映像存储在删除服务器上。

希望这可以帮助!

在客户端:

$(function click1() { 
    $("#share").click(function() { 
    $("#load").show();
        html2canvas($("#backdrop1"), {
            onrendered: function(canvas) {
               var data1 = canvas.toDataURL("image/png");
               //display 64bit image
               var image = new Image();
               image.src = data1;
               $.ajax({
                   url: 'uploading.php',
                   type: 'post',
                   data: data1,
                   dataType: 'text',
                   contentType: "application/upload",
                   success: function fbs_click1() {
                      $("#load").hide();
                   }
               });
            }
        });
    });
});


在您的本地服务器(uploading.php)上:

<?php
if (isset($GLOBALS["HTTP_RAW_POST_DATA"]))
{
   $imageData = $GLOBALS['HTTP_RAW_POST_DATA'];

   $curl = curl_init();    
   curl_setopt($curl, CURLOPT_URL, "http://example.com/upload.php" );
   curl_setopt($curl, CURLOPT_TIMEOUT, 30);
   curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1 );
   curl_setopt($curl, CURLOPT_POST,           1 );
   curl_setopt($curl, CURLOPT_POSTFIELDS, $imageData);
   curl_setopt($curl, CURLOPT_HTTPHEADER, array('Content-Type: text/plain')); 
   $result=curl_exec ($curl);
   echo $result;
   curl_close ($curl);
?>


在您的删除服务器(upload.php)上:

if (isset($GLOBALS["HTTP_RAW_POST_DATA"]))
{
    $imageData=$GLOBALS['HTTP_RAW_POST_DATA'];
    $filteredData=substr($imageData, strpos($imageData, ",")+1);
    $unencodedData=base64_decode($filteredData);

    $upload_dir = "PATH_TO_UPLOAD_DIRECTORY/";
    $final_img = $upload_dir."my_upload_image.png";

    if(file_put_contents($final_img, $unencodedData)) {
        echo "SUCCESS";
    }
    else {
        echo 'ERROR';
    }
}
else
{
    echo "ERROR";
}
exit;

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

PHP画布图像上传到远程服务器

来自分类Dev

PHP使用cURL将图像上传到远程服务器

来自分类Dev

将图像从android上传到PHP服务器

来自分类Dev

从iOS将图像上传到PHP服务器

来自分类Dev

将压缩图像上传到PHP服务器

来自分类Dev

将压缩的图像上传到PHP服务器

来自分类Dev

将图像从android上传到PHP服务器

来自分类Dev

PHP将图像上传到服务器

来自分类Dev

使用 cURL 将图像上传到 PHP 服务器?

来自分类Dev

如何使用PHP连接到远程FTP服务器并将图像文件上传到特定位置?

来自分类Dev

将图像上传到服务器

来自分类Dev

在画布上显示图像,然后再将其上传到服务器

来自分类Dev

在画布上显示图像,然后再将其上传到服务器

来自分类Dev

如何调整画布内容的大小并将图像上传到服务器?

来自分类Dev

将Django FileField的内容上传到远程服务器

来自分类Dev

将文件上传到SailsJS中的远程服务器

来自分类Dev

Winsock将文件上传到远程服务器

来自分类Dev

将文件从Android设备上传到远程服务器

来自分类Dev

将文件从反应上传到远程服务器

来自分类Dev

如何将php网站上传到远程服务器

来自分类Dev

使用xcode和php将图像上传到网络服务器

来自分类Dev

使用Xcode 6和PHP文件将图像上传到服务器

来自分类Dev

Android将相机图像,视频上传到php服务器

来自分类Dev

迅速,使用alamofire将图像上传到php服务器

来自分类Dev

使用Android和PHP将图像上传到服务器(MySQL数据库)

来自分类Dev

使用预先存在的PHP脚本将图像上传到服务器

来自分类Dev

将多个位图图像上传到php服务器

来自分类Dev

使用xcode和php将图像上传到网络服务器

来自分类Dev

尝试使用PHP将图像从iPhone上传到服务器

Related 相关文章

  1. 1

    PHP画布图像上传到远程服务器

  2. 2

    PHP使用cURL将图像上传到远程服务器

  3. 3

    将图像从android上传到PHP服务器

  4. 4

    从iOS将图像上传到PHP服务器

  5. 5

    将压缩图像上传到PHP服务器

  6. 6

    将压缩的图像上传到PHP服务器

  7. 7

    将图像从android上传到PHP服务器

  8. 8

    PHP将图像上传到服务器

  9. 9

    使用 cURL 将图像上传到 PHP 服务器?

  10. 10

    如何使用PHP连接到远程FTP服务器并将图像文件上传到特定位置?

  11. 11

    将图像上传到服务器

  12. 12

    在画布上显示图像,然后再将其上传到服务器

  13. 13

    在画布上显示图像,然后再将其上传到服务器

  14. 14

    如何调整画布内容的大小并将图像上传到服务器?

  15. 15

    将Django FileField的内容上传到远程服务器

  16. 16

    将文件上传到SailsJS中的远程服务器

  17. 17

    Winsock将文件上传到远程服务器

  18. 18

    将文件从Android设备上传到远程服务器

  19. 19

    将文件从反应上传到远程服务器

  20. 20

    如何将php网站上传到远程服务器

  21. 21

    使用xcode和php将图像上传到网络服务器

  22. 22

    使用Xcode 6和PHP文件将图像上传到服务器

  23. 23

    Android将相机图像,视频上传到php服务器

  24. 24

    迅速,使用alamofire将图像上传到php服务器

  25. 25

    使用Android和PHP将图像上传到服务器(MySQL数据库)

  26. 26

    使用预先存在的PHP脚本将图像上传到服务器

  27. 27

    将多个位图图像上传到php服务器

  28. 28

    使用xcode和php将图像上传到网络服务器

  29. 29

    尝试使用PHP将图像从iPhone上传到服务器

热门标签

归档