zoukankan      html  css  js  c++  java
  • 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效果展示

  • 相关阅读:
    136. 只出现一次的数字
    Eclipse Git Pull报 cannot open git-upload-pack错误的解决方案
    数据结构和算法1 稀疏数组
    Netty学习二 TCP粘包拆包以及Netty解决TCP粘包拆包
    Java值传递和引用传递
    Git命令教程
    Properties文件载入工具类
    有序的properties的工具类
    对象操作工具类
    反射工具类
  • 原文地址:https://www.cnblogs.com/zhenfei-jiang/p/7149506.html
Copyright © 2011-2022 走看看