两种方法
- URL.createObjectURL(obj);
这个函数(window的方法)创建出路径,浏览器能通过原生接口访问本地文件的路径,其中window可以省略,参数为需要创建路径的对象(file对象或者Blob对象);
var imgUrl = URL.createObjectURL( this.files[0] ); //生成本地路径图片
document.querySelector('img').src = imgUrl ;
URL.revokeObjectURL(_file); // 释放这个url
- 用FileReader的readAsDataURL方法
var reader = new FileReader();
reader.readAsDataURL(_file);
reader.onload = function(){
console.log(reader.result); //生成base64格式图片
};
具体写法案例:
<body>
<input type="file" name="imgfile" id="imgfile">
<script>
document.getElementById('imgfile').onchange = function(){
console.log(this.files[0])
reads(this.files[0]);
}
function reads(_file){
//var imgUrl = URL.createObjectURL( _file );
//document.querySelector('img').src = imgUrl ;
//URL.revokeObjectURL(_file);
var reader = new FileReader();
reader.readAsDataURL(_file);
reader.onload = function(){
document.getElementById("img").src= reader.result;
};
}
</script>
</body>