html5-FileReader接口

ε祈祈猫儿з 提交于 2020-04-18 00:23:45

<!-- html 部分 -->
    <h5>html-FileReader</h5>
    <input id="upload" type="file" accept="image/*">
    <img id="img" src="">

    <!-- js 部分 -->
    <script type="text/javascript" src="http://apps.bdimg.com/libs/jquery/2.1.4/jquery.min.js"></script>
    <script type="text/javascript">
        
        $(function(){
            $('#upload').change(function(){
                var reader = new FileReader()
                    
                reader.onload = function(){//文件读取完成时 出发onload事件
                    var result = reader.result; //base64 编码的文件存在FileReader.result中

                    $('#img').attr('src',result);

                    //选中文件转换为 Blob对象
                    var blob = dataURItoBlob(result);
                    console.log(blob)
                }
                reader.readAsDataURL(this.files[0]); //获取base64 编码
            });
        });

        //base64 转 Blob对象,用于文件上传
        function dataURItoBlob(dataURI) {  
            var byteString = atob(dataURI.split(',')[1]);  
            var mimeString = dataURI.split(',')[0].split(':')[1].split(';')[0];  
            var ab = new ArrayBuffer(byteString.length);  
            var ia = new Uint8Array(ab);  
            for (var i = 0; i < byteString.length; i++) {  
                ia[i] = byteString.charCodeAt(i);  
            }  
            return new Blob([ab], {type: mimeString});  
        }  
    </script>

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!