美文网首页
只利用js实现导入和导出文件

只利用js实现导入和导出文件

作者: ywchange | 来源:发表于2020-12-26 21:59 被阅读0次

    导出文件

    利用a标签和HTML5中的Blob对象实现:

    // 导出功能
    // str 导入的内容 字符串类型
    // fileName 导出内容的文件名例如(test.js)
    function download(str, fileName){
       var link = document.createElement("a");
       link.target = "_blank";
       link.download = fileName;
       link.rel = "noopener";
       var blob = new Blob([str], {type: "text/plain;charset=utf-8"})
       link.href = URL.createObjectURL(blob);
       setTimeout(function () { URL.revokeObjectURL(link.href) }, 4E4) // 40s
       setTimeout(function () { link.click(); }, 0);
    }
    

    导入文件

    利用表单和HTML5中的FileReader对象实现:

    <!doctype html>
    <html lang="en">
    <head>
        <meta charset="UTF-8">
        <title>Document</title>
    </head>
    <body>
        <div>
            <input type="file" id="files" style="display: none" onchange="fileImport();">
            <input type="button" id="fileImport" value="导入">
        </div>
        <script src="../js/jQuery/jquery-1.11.1.js"></script>
        <script>
            //点击导入按钮,使files触发点击事件,然后完成读取文件的操作
            $("#fileImport").click(function () {
                $("#files").click();
            })
            function fileImport() {
                //获取读取我文件的File对象
                var selectedFile = document.getElementById('files').files[0];
                var name = selectedFile.name;//读取选中文件的文件名
                var size = selectedFile.size;//读取选中文件的大小
                console.log("文件名:"+name+"大小:"+size);
    
                var reader = new FileReader();//这是核心,读取操作就是由它完成.
                reader.readAsText(selectedFile);//读取文件的内容,也可以读取文件的URL
                reader.onload = function () {
                    //当读取完成后回调这个函数,然后此时文件的内容存储到了result中,直接操作即可,this.result就是我们导入文件的内容
                    console.log(this.result);
                }
            }
        </script>
    </body>
    </html>
    

    相关文章

      网友评论

          本文标题:只利用js实现导入和导出文件

          本文链接:https://www.haomeiwen.com/subject/jzfnnktx.html