我需要上传图片,就像这样
<form>
<input type="file">
</form>
但是,我想在上传之前裁剪/调整文件大小。裁剪和调整大小没问题,但如何从输入文件元素中获取base64?在IE10和其他浏览器中,我可以这样:
if (this.files.length === 0) {
return;
}
var file = this.files[0];
if (file.type.match(/image.*/)) {
var reader = new FileReader();
reader.onload = function (event) {
cropAndResize(event.target.result);
};
reader.readAsDataURL(file);
}
但是,在IE9中 this.files 未定义。如何在IE9中访问上传图像的base64(当然没有到后端的往返!)? Here is a jsfiddle
答案 0 :(得分:0)
IE9不支持FileReader API,因此无法使用纯JavaScript执行您想要的操作。如果您需要IE9支持,那么您需要使用类似this Flash solution的内容才能获得相同的结果。