js ajax上传图片到服务器

    $("#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)));
上一篇:CPU Hardwar


下一篇:mybatis 自定义类型转换器 (后台日期类型插入数据库)