如何使用FileSaver.js保存文本文件。

3

我在Github上下载了FileSaver.js,并尝试测试以备将来使用。我创建了一个简单的HTML文件,接受输入,当按钮被点击时会触发一个函数,该函数将使用FileSaver.js保存文件。

我的文件夹里只有FileSaver.js和HTML文件。

以下是我的代码。

<html>
    <head>

    </head>
    <body>
        <input type="text" id="sample">
        <button id="button" onclick="download();">save as</button>

        <script src="FileSaver.js"></script>
        <script type="text/javascript">
            function download(){
            var save = document.getElementById("sample").value;
            alert(save);    
            var blob = new Blob([save], {type: "text/plain;charset=utf-8"});
            saveAs(blob, "hello world.txt");}
        </script>
    </body>
</html>

错误:

-未捕获的 SyntaxError: 在 FileSaver.js 文件中,此代码行上的 export 标记意外出现 var saveAs = saveAs || (function(view) {

-lol.html:15 此 html 文件内的此代码行上出现了未定义的 saveAs 错误 saveAs(blob, "hello world.txt");}


在他们的网站示例中,他们使用了Blob.js,但您没有包括它...<script async="" src="https://cdn.rawgit.com/eligrey/Blob.js/0cef2746414269b16834878a8abc52eb9d53e6bd/Blob.js"/> 您应该查看示例的源代码... https://eligrey.com/demos/FileSaver.js/ - Daniel Tate
@DanielTate 我把演示中的所有脚本都加上了,以防万一,但还是不起作用。 - Jarx
你的代码百分之百有效 https://jsfiddle.net/1pr4090t/ - Daniel Tate
啊,你从github仓库中使用了FileSaver.js。这是打算由包管理器(bower)构建的。已编译版本可在https://cdn.rawgit.com/eligrey/FileSaver.js/5ed507ef8aa53d8ecfea96d96bc7214cd2476fd2/FileSaver.min.js上找到。 - Kaiido
你发送的链接完美地运行了,但是我这里的文件出了一些问题,无法正常工作。 - Jarx
显示剩余5条评论
1个回答

7

只需更新为以下内容,即可正常工作,请尝试下面演示中使用的CDN服务器中的文件保存器。

function download() {
  var save = document.getElementById("sample").value;
  var blob = new Blob([save], {
    type: "text/plain;charset=utf-8"
  });
  saveAs(blob, "sample-file.txt");
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<script src="https://cdn.rawgit.com/eligrey/FileSaver.js/5ed507ef8aa53d8ecfea96d96bc7214cd2476fd2/FileSaver.min.js"></script>
<input type="text" id="sample">
<button id="button" onclick="download();">save as</button>


1
非常感谢你,伙计。 - Jarx

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接