JS 上传图片转换成二进制流base64

accept可限制上传所选文件是什么类型

<input type="file" style='display: none;' id="image_upload" accept="image/jpeg, image/png, image/jpg" >
 1    var fileInput = document.getElementById("image_upload");
 2     //选择文件
 3     fileInput.addEventListener('change',function(){
 4         //如果未传入文件则中断
 5         if(fileInput.files[0] == undefined){
 6             return;
 7         }
 8         
 9         var file = fileInput.files[0];
10         
11         //FileReader可直接将上传文件转化为二进制流
12         var reader = new FileReader();  
13         reader.readAsDataURL(file);//转化二进制流,异步方法
14         reader.onload = function(){//完成后this.result为二进制流
15             console.log(this.result);
16             
17             //页面显示文件名
18             $("#name").html(file.name);
19             
20             var base64Str = this.result;
21             var startNum = base64Str.indexOf("base64,");
22             startNum = startNum*1 + 7;
23             //去除前部格式信息(如果有需求)
24             var baseStr = base64Str.slice(startNum);
25             
26             //临时存储二进制流
27             $("#tempName").val(baseStr); 
28

29     }
30   })

 

posted @ 2019-03-13 11:38  天过蓝  阅读(18349)  评论(0编辑  收藏  举报