$("#up_goods_pic").on('change',function(){
var file = this.files[0];
var url = webkitURL.createObjectURL(file); /* 生成图片
* ---------------------- */
var $img = new Image();
$img.onload = function() { //生成比例
var width = $img.width,
height = $img.height,
scale = width / height;
width = parseInt(800);
height = parseInt(width / scale); //生成canvas
var canvas = document.createElement('CANVAS');
var ctx = canvas.getContext('2d');
canvas.height = this.height;
canvas.width = this.width;
ctx.drawImage($img, 0, 0, width, height);
var base64 = canvas.toDataURL('image/jpeg'); //发送到服务端
$.ajax({
data:{
data:base64
},
url:"/shop/upload_goods_pic",
type:"POST",
dataType:"json",
succeed:function(data){
if(data.error === 0){
$("#goods_pic").append("<img src='"+data.file+"'/>");
}else{
alert(data.msg);
}
}
}); }
$img.src = url; });

服务端

        $base64_image_content = $this->input->post("data");

        if (preg_match('/^(data:\s*image\/(\w+);base64,)/', $base64_image_content, $result)){
$type = $result[2];
$new_file = "./".time().rand().".{$type}";
if (file_put_contents($new_file, base64_decode(str_replace($result[1], '', $base64_image_content)))){
$this->goods_pic_model->add($new_file);
die(json_encode(array("file"=>$new_file,"error"=>0)));
}
} die(json_encode(array("error"=>1)));

最新文章

  1. 弹框控件 UIAlertView UIActionSheet
  2. Objective-C语言Foundation框架
  3. Swift 通用类型和通用函数 | Generic type and function
  4. OnClientClick=&quot;return confirm(&#39;确定要删除吗?&#39;)&quot;
  5. 【HDOJ】4585 Shaolin
  6. Bootstrap 3 支持 IE8
  7. 百练2755 奇妙的口袋 【深搜】or【动规】or【普通递归】or【递推】
  8. 使用md5判断网站内容是否被篡改
  9. 整型转字符串(convert int to char)优化实践
  10. Hibernate中get()和load()方法区别
  11. C和C指针小记(十四)-字符串、字符和字节
  12. appium-doctor
  13. Docker load与Docker import
  14. MySQL查询不区分大小写的sql写法
  15. Python2 字典 cmp() 函数
  16. Daylight Saving Time
  17. 使用dnSpy对目标程序(EXE或DLL)进行反编译修改并编译运行
  18. R中的data.table 快速上手入门
  19. 洛谷P4493 [HAOI2018]字串覆盖(后缀自动机+线段树+倍增)
  20. Nginx错误日志配置信息详解

热门文章

  1. js内置对象-Date对象
  2. Introduction 引言
  3. css3.0新属性效果在ie下的解决方案(兼容性)
  4. 【HTTP】GET和POST的区别
  5. ISO-8859-1
  6. 一.JSP开发的工具下载与环境搭建
  7. (转载)OC学习篇之---Foundation框架中的其他类(NSNumber,NSDate,NSExcetion)
  8. 30+学习Web设计和开发的优质新鲜资源
  9. 精选PSD素材下载周刊【Goodfav PSD 20130720】
  10. Azure Cloud中的Log4Net设置