• HTML5之FileReader的简易使用


    用来把文件读入内存,并且读取文件中的数据。FileReader接口提供了一个异步API,使用该API可以在浏览器主线程中异步访问文件系统,读取文件中的数据。FileReader接口提供了读取文件的方法和包含读取结果的事件模型。

    1、FileReader接口的方法

      FileReader接口有4个方法,其中3个用来读取文件,另一个用来中断读取。无论读取成功或失败,方法并不会返回读取结果,这一结果存储在result属性中。

    方法名: 参数: 描述:
    readAsDataURL file 将文件读取为DataURL(一般读取图片)
    readAsText ile,[encoding] 将文件读取为文本
    readAsBinaryString file 将文件读取为二进制编码
    abort (none) 终端读取操作

    2、FileReader接口事件

    事件: 描述:
    onabort 中断
    onerror 出错
    onloadstart 开始
    onprogress 正在读取
    onload 成功读取
    onloadend 读取完成,无论成功失败

    3、FileReader接口的使用

    <!doctype html>
    <html lang="en">
    <head>
        <meta charset="UTF-8">
        <title>Document</title>
    </head>
    <body>
        <input type="file" id="file">
        <div id="out"></div>
        <img src="" alt="" id="img">
        <script>
            var file = document.getElementById('file');
            var out = document.getElementById('out');//文件展示的1地方
            var img = document.getElementById('img');//图片显示的地方
    
            file.onchange = function(event){ //监听文件的改变
                var file = event.target.files[0]; //获取到文件的所有信息
                console.log(file)
                var type = 'defautl';
    
                var reader = new FileReader(); //new一个文件读取的对象(首先要判断你的浏览器是否支持这个方法)
    
                //判断文件类型
                if(/image/.test(file.type)){ //判断文件的类型
                    type = 'image' //图片
                    reader.readAsDataURL(file);
                }else{
                    type = 'text'; //其他非图片文件
                    reader.readAsText(file);
                }
    reader.onload
    = function() { //成功的回调 var html = ''; switch(type){ case "image"://图片的显示 img.src = this.result; break; case "text"://文件的显示 html = this.result; out.innerHTML = html; break; } } } </script> </body> </html>

    4、FileReader效果展示

  • 相关阅读:
    redis介绍;特性介绍
    日常2018/4/9---b/s和c/s架构分别是什么?区别?
    持续集成实践---基于ant+jmeter+jenkins接口CI
    面向过程 和 面向对象个人理解
    记一次vc++6.0中程序正常,转 vs2019 c++后报错的问题
    C# 调用C++ dll EntryPointNotFoundException错误
    uniapp踩坑记录(持续更新)
    uniapp引用组件rate评分无法点击引起对style scoped学习
    sql server之time字段详解
    sql server之timestamp字段详解(转)
  • 原文地址:https://www.cnblogs.com/zhenfei-jiang/p/7149506.html
Copyright © 2020-2023  润新知