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>
    
  • 相关阅读:
    子元素过滤器nth-child解释
    jquery属性选择器中|value和^value的区别
    [转]float,double和decimal类型
    postsharp初体验
    [札记]IL经典指令解析之方法调度
    Oracle问题诊断过程常用SQL
    在chrome浏览器中 页面生成二维码
    音视频实例
    html5 新增input类型与属性
    html5 form-Validity验证函数
  • 原文地址:https://www.cnblogs.com/Syinho/p/13196444.html
Copyright © 2011-2022 走看看