如题,前台使用js将file表单选中的图片转换为base64字符串,请问该怎么做?
这是我在网上找的相关代码,使用firefox调试,每次运行到img.onload就退出去了,进不了function,不知道是哪里有问题,还是压根就写错了。请好心人指点,先谢谢了!
bbb是file丢下,没有onload事件,改为onchagne,用HTML5的FileReader对象就可以转为base64了,不需要canvas
而且你bbb已经存在,不需要再append了。。如果是客户端图片预览,看这个: javascript客户端图片预览,兼容最新firefox,chrome和IE11
img.onchange = function () {
var oFReader = new FileReader();
oFReader.readAsDataURL(this.files[0]);
oFReader.onload = function (oFREvent) {
alert(oFREvent.target.result);
};
}
问题已经解决了,谢谢!
你找到的网上的代码原先是绑定图片元素的,而不是file类型的Input元素吧?图片元素有onload事件,在图片加载到浏览器的时候触发。file类型的input你绑定onchange事件。
类似楼上的解释,可以参考Image convert to Base64,上面有纯js和jQuery的实现示例代码。
IE10支持html5的FileReader 。你可以试试开源项目A FileReader polyfill for Internet Explore and Safari using Flash,通过Flash和jQuery来模拟。
请问IE8上,怎么转base64?