如何使用FileSaver.js保存文本文件?实操代码求助
使用FileSaver.js实现文本内容保存的测试方案
我刚从GitHub上下载了FileSaver.js,打算做个简单的小测试来验证它的文件保存功能。我只准备了两个文件:下载的FileSaver.js和一个测试用的HTML文件,下面是我写的完整测试代码,以及测试时的注意事项:
完整测试HTML代码
<html> <head> <!-- 务必确保FileSaver.js和当前HTML文件在同一目录下 --> <script src="FileSaver.js"></script> </head> <body> <input type="text" id="sample" placeholder="在这里输入要保存的内容"> <button id="button" onclick="download();">save as</button> <script> function download() { // 获取输入框里的文本内容 const inputContent = document.getElementById('sample').value; // 将文本转换成Blob格式,这是FileSaver.js需要的文件类型 const fileBlob = new Blob([inputContent], { type: 'text/plain;charset=utf-8' }); // 调用FileSaver的saveAs方法,第一个参数是Blob对象,第二个是要保存的文件名 saveAs(fileBlob, 'saved-content.txt'); } </script> </body> </html>
测试步骤
- 把
FileSaver.js和上面的HTML文件放在同一个文件夹里 - 用浏览器打开这个HTML文件
- 在输入框里随便写点内容,比如一段文字或者几行代码
- 点击「save as」按钮,浏览器会弹出保存对话框,选好保存路径就能得到一个txt文件了
可能踩坑的地方
- 如果点击按钮没反应,先检查
FileSaver.js的引入路径是否正确,比如文件名有没有写错,是不是和HTML在同一目录 - 有些浏览器对本地直接打开的HTML文件有安全限制,要是遇到保存失败的情况,可以试试用本地服务器来运行——比如打开终端,进入文件所在目录,执行
python -m http.server(需要安装Python),然后在浏览器里访问http://localhost:8000来打开测试页面 - 要是想保存其他类型的文件,比如JSON,只需要把Blob的type改成
application/json;charset=utf-8就行,文件名也对应改成.json就好
内容的提问来源于stack exchange,提问作者Jarx
相关产品推荐
相关产品推荐

