canvas获取base64图片并上传php服务器
2017-06-05 17:19
531 查看
思路
将图片渲染到canvas使用canvas的toDataUrl()方法获取bse64文件数据
将数据和文件名发送到服务端
服务端收到数据去掉”’,”前面的文件头信息
使用base64_decode()解码
使用file_put_contents()保存文件
前端
var canvas = $("canvas"); var cxt = canvas[0].getContext('2d'); var img = new Image(); img.src = "xxxxxx"; cxt.drawImage(img,0,0,300,300); //获取base64数据并上传 var base64Img = canvas[0].toDataUrl(); //只能使用post,get会报错,数据太长 $.post('upload.php',{data:base64Img:name:xxx},function(res){ console.log(res); });
后台
$file = "./upload/{$_POST['name']}.jpg";//文件报错路径 $img = str_replace('data:image/jpeg;base64,', '', $_POST['data']);//将逗号签名的都匹配掉 $img = str_replace(' ', '+', $img); $res = file_put_contents( $file , base64_decode($img) );//注意base640decode()方法不要怕忘记写了,必须要解码才能保存 if($res){ die(1); }
如果不能保存文件请先检查该目录是否有写权限,我因为权限搞了一下午
相关文章推荐
- php获取html上传图片并保存至本地服务器
- php获取svn文件,然后ftp上传服务器代码
- ios中摄像头/相册获取图片,压缩图片,上传服务器方法总结
- ios中摄像头/相册获取图片,压缩图片,上传服务器方法总结
- ios中摄像头/相册获取图片,压缩图片,上传服务器方法总结
- ios中摄像头/相册获取图片,压缩图片,上传服务器方法总结
- [原]as3 flash web 应用 (8)图片批量上传之 向服务器发送和获取额外数据
- ios中摄像头/相册获取图片,压缩图片,上传服务器方法总结
- ios中摄像头/相册获取图片,压缩图片,上传服务器方法总结
- iOS -- 摄像头/相册获取图片,压缩图片,上传服务器
- android通过Base64往服务器上传图片和对象
- iphone上传图片到webserver 手机端和服务器(php)
- iphone开发]从摄像头/相册获取图片,压缩图片,上传服务器小结
- android通过Base64往服务器上传图片和对象
- 从摄像头/相册获取图片,压缩图片,上传服务器小结
- android通过Base64往服务器上传图片和对象
- ios中摄像头/相册获取图片,压缩图片,上传服务器方法总结
- android 图片上传java,php服务器
- nginx漏洞上传图片可入侵100万服务器 nginx+php的注意了
- ios中摄像头/相册获取图片,压缩图片,上传服务器方法总结