• JavaScript 选择文件并读取文本


    input标签

    input文件及多文件标签:

    <input type="file" value="选择文件"></input>
    <input type="file" multiple="multiple" value="选择多个文件"></input>
    

    FileReader 以及 FileReaderSync . readAsText(file, encoding?)函数

    FileReader是异步的文件读取器, 可以指定文本编码读取文本.
    FileReaderSync在WebWorker中可用, 这个类的readAsText接口是同步的.

    With jQuery

    function popFileSelector() {
        $(`<input type="file" value="选择文件"></input>`)
            .click()
            .on('change', event => {
                let file = event.target.files[0];
                let file_reader = new FileReader();
                file_reader.onload = () => {
                    let fc = file_reader.result;
                    console.log(fc); // 打印文件文本内容
                };
                file_reader.readAsText(file, 'UTF-8');
            });
    }
    

    原生 Without jQuery

    function popFileSelector() {
        let input = document.createElement('input');
        input.value = '选择文件';
        input.type = 'file';
        input.onchange = event => {
            let file = event.target.files[0];
            let file_reader = new FileReader();
            file_reader.onload = () => {
                let fc = file_reader.result;
                console.log(fc); // 打印文件文本内容
            };
            file_reader.readAsText(file, 'UTF-8');
        };
        input.click();
    }
    

    原生 With Promise

    
    function popFileSelector() {
        return new Promise((resolve, reject) => {
            let input = document.createElement('input');
            input.value = '选择文件';
            input.type = 'file';
            input.onchange = event => {
                let file = event.target.files[0];
                let file_reader = new FileReader();
                file_reader.onload = () => {
                    let fc = file_reader.result;
                    resolve(fc); // 返回文件文本内容到Promise
                };
                file_reader.readAsText(file, 'UTF-8');
            };
            input.click();
        });
    }
    
  • 相关阅读:
    WebSocket客户端连接不上和掉线的问题以及解决方案
    中国(China): 上海地图和经维度
    在程序开发中怎样写SQL语句可以提高数据库的性能
    C# 正则表达式
    asp.net mvc 2.0 【1】
    c#获取相对路径的八种方法
    ASP.NET 常用对象
    Python自动化开发基础和数据类型
    Python自动化开发数据类型之集合
    Python自动化开发数据类型之字符串
  • 原文地址:https://www.cnblogs.com/develon/p/13601768.html
Copyright © 2020-2023  润新知