客户端JS

时间:2018-09-10 22:33:13

标签: javascript java

我知道出于安全原因,浏览器中的客户端JavaScript通常无法在Windows磁盘上本地写入文件。

与此同时,我听说可以使用一些其他工具或解决方法,并且我正在寻找最简单的代码行或/和大小最小的工具。

我听到或读过的方法和变通办法,但其中一些不可靠,而另一些则不适合我:

[*不会解释原因]

  • 本地LAMP服务器,例如WAMP,XAMP等。
  • NodeJS的本地版本
  • 带有JS + Windows ActiveXObject('Scripting.FileSystemObject')的HTA文件
  • Chrome浏览器的HTML5 File API和Filesystem API
  • 创建和下载Blob文件

我读到JavaScript可以加载Java applet,并且applet可以访问文件系统,但是我一点也不了解Java,也不知道如何开始。而且我听说过Silverlight,但我也不知道。

或者也许还有更简单的方法

1 个答案:

答案 0 :(得分:0)

一个简单的实现是将锚标记与嵌入式数据一起使用:

<a href="data:text,this is the content of the text file" download="filename.txt">Download File</a>

关于将各种数据嵌入到href标签中,请查看“数据uri方案”。  https://en.wikipedia.org/wiki/Data_URI_scheme

我已经将这种类型的嵌入用于excel文件,pdf,图像,您可以将其命名。

在纯javascript中还有一种编程方法,该方法依赖于在javascript中创建锚标记并在其上运行click函数的相同技巧:

var a = document.createElement('a')
a.download = "filename.txt"
a.href = 'data:text,this is the content of the text file'
a.click()