前端做做图片上传功能时,经常想上传完后可以直接预览,这时候通常有两种方式,一种就是转成base64编码,然后展示出来。
document.getElementById('file').onchange = function(){ var reader = new FileReader(); reader.readAsDataURL(this.files[0]); reader.onload = function(e) { document.getElementById('img').src = e.target.result; } }
当然还有另外一种方式,那就是用getObjectURL实现:
function getObjectURL(file) { var url = null; if (window.createObjectURL != undefined) { url = window.createObjectURL(file); } else if (window.URL != undefined) { url = window.URL.createObjectURL(file); } else if (window.webkitURL != undefined) { url = window.webkitURL.createObjectURL(file); } return url; } document.getElementById('file').onchange = function(){ document.getElementById('img').src = getObjectURL(this.files[0]); }
兼容性都不好只能兼容到IE10