有些安卓的微信浏览微网站,不能通过file上传文件、图片,但是ios系统的都是可以上传图片。网上有很多人说是微信阉割了file的上传功能,但是微社区确实可以上传图片,应该是他们自己写的一个上传插件,就是将图片转换成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" οnchange="readFile(this)" />