利用插件剪裁图片,并上传

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了利用插件剪裁图片,并上传相关的知识,希望对你有一定的参考价值。

关于js处理图片的三大误区:        1.js操作文件,只能形成剪裁效果,不能生成图片文件;

                                            2.js选择文件时,无法获取文件在个人电脑中的路径;

                                            3.js不能为<input type=file>自动赋值,出于安全方面考虑,fileinput文件只能手动选择。

 

上传图片思路:                  1.使用jquery剪裁插件cropper直接上传,形成图片剪裁效果;

                                      2.使用html5的canvas根据原图,坐标和宽高进行剪裁,将生成的图片(data:image/jepg;base64 编码)直接post给后台服务器;

                                      3.php使用    

     $base64_url=$_REQUEST(‘pic‘); 
                           
     if (preg_match(‘/^(data:\s*image\/(\w+);base64,)/‘, $base64_url, $result)){
         $base64_body = substr(strstr($base64_url,‘,‘),1);
         $img=base64_decode($base64_body);
     }

     if (!$img){
         die("无图片");
     }
         
       //新建一个目录由$dirname指定的目录
     $dirname="file/".ugv::sid()."/".date("ym");
     ugv::mkdir($dirname);

           //文件名
     $r=ugv::randomid(10,3);
     $filename=ROOT_PATH.$dirname."/".$r.".jpg";
//插入数据库的文件名
$picname="/".$dirname."/".$r.".jpg"; //写入文件 file_put_contents( $filename,$img);

 

 

 

 

以上是关于利用插件剪裁图片,并上传的主要内容,如果未能解决你的问题,请参考以下文章

图片上传组件开发

cropper+pillow处理上传图片剪裁

移动端图片裁剪上传—jQuery.cropper.js

Android选择/拍照 剪裁 base64/16进制/byte上传图片+PHP接收图片

插件介绍 :cropper是一款使用简单且功能强大的图片剪裁jQuery插件。

这款vue图片剪裁开源项目,简直逆天了!