利用插件剪裁图片,并上传
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);
以上是关于利用插件剪裁图片,并上传的主要内容,如果未能解决你的问题,请参考以下文章
Android选择/拍照 剪裁 base64/16进制/byte上传图片+PHP接收图片