本文实例为大家分享了HTML5 JS压缩图片,并获取图片BASE64编码上传的方法,供大家参考,具体内容如下
基本过程
1) 调用 FileReader 的 reader.readAsDataURL(img); 方法,在其onload事件中,将用户选择的图片读入 Image对象.
2) 在image对象的 onload 事件中,通过 canvas 的 canvas.getContext('2d') 的 drawImage 方法,将Image 改变大小绘制到canvas上.
3) 通过 canvas.toDataURL("image/jpeg",0.1); 方法,将图片变成base64字符串,传入服务端.
502_12@ h) {
h2 = h / w * toSize;
} else {
w2 = w / h * toSize;
}
ctx.drawImage(image,w,h,w2,h2);
}
// 判断是否<a href="/tag/tupian/" target="_blank" class="keywords">图片</a>
if (!img) {
return;
}
// 判断<a href="/tag/tupian/" target="_blank" class="keywords">图片</a>格式
if (!(img.type.indexOf('image') == 0 && img.type && /\.(?:jpg|png|gif)$/.test(img.name))) {
alert('<a href="/tag/tupian/" target="_blank" class="keywords">图片</a>只能是jpg,gif,png');
return;
}
var reader = new FileReader();
reader.onload = function (e) { // reader onload start
var url = reader.result;
image.src = url;
} // reader onload end
reader.readAsDataURL(img);
}
}
});
// ajax <a href="/tag/shangchuan/" target="_blank" class="keywords">上传</a><a href="/tag/tupian/" target="_blank" class="keywords">图片</a>
$.post("@Url.Content("~/AliOss/SaveCarImage")",vueImg.model,function (ret) {
parseAjaxData(data,function (model) {
console.log(model.Path);
alert(model.Path);
$('#showimg').html('<img src="' + model.Path + '">');
})
},'json');
}