zoukankan      html  css  js  c++  java
  • html_html5增强的文件上传域_使用FileReader读取文件内容

    FileReader的方法与属性

    方法名 参数 描述
    readAsText (file,encoding) 以文本文件的方式来读取,其中encoding参数指定读取该文件时所用的字符集,该参数的默认值是UTF-8
    readAsBinaryString (file) 以二进制方式来读取文件.通常用于AJAX上传数据到服务器中
    readAsArrayBuffer (file) 将文件内容读取到ArrayBuffer对象中
    readAsDataURL (file) 以DataURL方式来读取文件,这种方式也可以用于读取二进制文件,只是会采用base64方式把文件内容编码成DataURL格式的字符串
    abort 停止读取

    FileReader的事件

    事件 描述
    onloadstart 开始读取数据时触发该事件指定的函数
    onprogress 正在读取数据时触发该事件指定的函数
    onload 成功读取数据后触发该事件指定的函数
    onloadend 读取数据完成后触发该事件指定的函数
    onerror 读取失败时触发该事件指定的函数

    检测浏览器是否支持FileReader对象

    var reader = null;
            if (window.FileReader) {
                reader = new FileReader();
            } else {
                window.alert('部分功能无法得到浏览器支持,请升级浏览器');
            }
    
    function chkFR() {
                if (typeof FileReader === 'undefined') {
                    window.alert('部分功能无法得到浏览器支持,请升级浏览器');
                    return false;
                }
            }
            chkFR();
    

    使用FileReader读取文本文件

    <body>
        <input type="file" name="" id="file">
        <p id="res"></p>
        <script>
            var reader = null;
            var $file = document.getElementById('file');
            $file.addEventListener('change', () => {
                if (window.FileReader) {
                    reader = new FileReader();
                } else {
                    alert('error');
                    return false;
                }
                reader.readAsText($file.files[0], 'utf8');
                reader.onload = () => {
                    document.getElementById('res').innerText += reader.result;
                }
            }, false);
        </script>
    </body>
    

    使用FileReader读取图片文件

    <body>
        <input type="file" name="" id="file">
        <div id="imgBox"></div>
        <script>
            var reader = null;
            var $file = document.getElementById('file');
            $file.addEventListener('change', () => {
                if (window.FileReader) {
                    reader = new FileReader();
                    reader.readAsDataURL($file.files[0]);
                    reader.onload = () => {
                        var img = new Image();
                        img.src = reader.result;
                        document.getElementById('imgBox').appendChild(img);
                    }
                } else {
                    window.alert('error');
                    return false;
                }
            }, false);
        </script>
    </body>
    
  • 相关阅读:
    R语言基础入门
    调用arcpy包批量进行矢量掩膜提取
    一些js面试高频知识点的总结
    js实现五子棋人机对战源码
    编程题汇总,持续更新
    颜色字符串转换
    根据包名,在指定空间中创建对象
    JavaScript中[]+[] 、[]+{}、{}+[]、{}+{}的结果分析
    CSS命名规范
    谈谈浏览器的兼容性
  • 原文地址:https://www.cnblogs.com/Syinho/p/13196444.html
Copyright © 2011-2022 走看看