Javascript:保存文本文件的简单方法?

标签 javascript download

我想为用户提供保存他/她的结果的机会,如网页上显示的那样。
使用浏览器的“另存为”是不好的,它会保存 html 代码或其中的一部分,而不是保存页面上显示的内容。即使选项设置为“另存为文本”。有本地链接等。
使用 localStorage 会更糟。想象一下告诉用户他的结果在某个隐藏目录中,他/她需要解码 sqlite 文件......
我在网上找到的例子:
A) 太复杂
B) 不工作
C)只显示一点代码,让你猜其余的
一些网站提供其页面的“打印机友好”版本。只需单击一个按钮,我就可以在新窗口或选项卡中打开结果列表,以简洁的 View 。然后用户可以“全选”和“复制/粘贴”到他/她最喜欢的文本编辑器。并保存它。
我想做得更好。我想要一个“保存结果”按钮,可以打开通常的对话框“你想把它保存在哪里?”并提供例如 .txt 和 .rtf 格式之间的选择。
我读过的一些东西似乎暗示这将是非法的。如果您可以另存为 .exe,我会理解安全风险。但另存为.txt?

最佳答案

你可以这样做:

<a href="#" id="download">Download</a>

<script>
var fileName = "myfile.txt";
var fileContent = "Page content...";
var myFile = new Blob([fileContent], {type: 'text/plain'});

window.URL = window.URL || window.webkitURL;
var dlBtn = document.getElementById("download");

dlBtn.setAttribute("href", window.URL.createObjectURL(myFile));
dlBtn.setAttribute("download", fileName);
</script>
这将要求用户在他们想要的地方保存一个名为“myfile.txt”的文件。文件的内容由您决定。

关于Javascript:保存文本文件的简单方法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/65050679/

相关文章:

javascript - 传单 map 的绘制线

python - 为什么我无法使用 python 请求下载 MIDI 文件?

python - 使用 head 下载前检查文件是否存在

http - 如何让 HTTrack 只下载当前域的文件?

javascript - GoogleUser 对象没有 grantOfflineAccess 方法?

javascript - Node.js 中的长循环 : Yielding Using Timers?

javascript - 用于多绘图的 jQuery 就绪函数

javascript - 如何使用 lodash拒绝来拒绝同一 key 的多个可能属性?

c# - 通过 C# 按 Internet Explorer 的 "File download dialog"的保存按钮

command-line - 使用 Wget 进行多个同时下载?