昨天用html5写一个手机上传图片问题,因为用户不可能自己剪辑图片,所以要在客户端生成缩图,不然用户没传两张把人家流量耗光了。
代码如下,
oImage.src="data:application/octet-stream;"+e.target.result.substr(e.target.result.indexOf("base64,"));
是重点,因为发现android系统直接选择相册的话,老是显示不了预览图,这样不能把图片放到canvas里面,所以直接把base64前面的东西删除,然后加上mime
希望对有同样问题的同学有帮助,目前我使用
canvas.toDataURL("image/png");
因为有些浏览器不支持image/jpeg格式,但是png格式文件大,所以只生成640*640
function fileSelected() {
// hide different warnings
// get selected file element
var oFile = document.getElementById('image_file').files[0];
// filter for image files
var rFilter = /^(image\/bmp|image\/gif|image\/jpeg|image\/png|image\/tiff)$/i;
// little t