解决微信内置浏览器上传图片-html5将图片转换base64进行上传

有些安卓的微信浏览微网站,不能通过file上传文件、图片,但是ios系统的都是可以上传图片。

传统的通过 $_FILES 方式上传在微信浏览器下失败。
这里可以换个思路:
    我们可以先现将图片转成base64的字符,在把字符通过POST方式上传给服务器,在服务器端把POST过来的base64字符,还原出图片保存在服务,完成图片上传过程。

html5有个功能就可以将图片转换base64,那就是FileReader。

实现:

function readFile(obj){ 
        var file = obj.files[0]; 	
        //判断类型是不是图片
        if(!/image\/\w+/.test(file.type)){   
                alert("请确保文件为图像类型"); 
                return false; 
        } 
        var reader = new FileReader(); 
        reader.readAsDataURL(file); 
        reader.onload = function(e){ 
                alert(this.result); //就是base64
 
        } 
} 

<input type="file"  id="picFile" onchange="readFile(this)" /> 

发表评论

邮箱地址不会被公开。 必填项已用*标注