如何使用JavaScript在相对路径下保存文件

3
我希望您能用JavaScript将.json文件保存到应用程序路径中。 我使用以下代码保存文件。但它保存在物理路径中,而不是应用程序路径中。 我的代码如下:
 var fso = new ActiveXObject("Scripting.FileSystemObject");
 var s = fso.CreateTextFile("E:\\Model.json", true);
 s.WriteLine(json);
 s.Close();

在服务器端可以使用Server.MapPath,但我不知道如何在Javascript中保存。

请朋友们指导一下,谢谢!


你打算在网页内运行这个脚本吗?我怀疑它能否以那种方式工作。 - Salman A
2个回答

1

我猜你是通过Windows脚本宿主或类似方式运行它。

只需使用相对路径:

var s = fso.CreateTextFile("Model.json", true);

注意我省略了 E:\\

我不知道你所说的 "应用程序路径" 是什么意思,但这将把文件保存在脚本/应用程序正在运行的当前目录中。如果您想相对于其中一个 "特殊" Windows 文件夹进行操作,请使用 FileSystemObject#GetSpecialFolder 获取特殊文件夹的路径,然后将您的路径附加到它上面。


我可以通过调用 Model.json 读取文件,但是我无法保存该文件。 - ganesh
@ganesh:那么这与代码无关。我只是拿了你的代码,删除了 E:\\,创建了一个 json 变量,并使用 Windows 脚本宿主运行它。一切正常。 - T.J. Crowder

0

你不能只是去掉驱动器前缀,使用相对路径吗?

 var fso = new ActiveXObject("Scripting.FileSystemObject");

 var s = fso.CreateTextFile("MyFolder\\Model.json", true);

 s.WriteLine(json);
 s.Close();

而且,从查看FSO文档中,有几种方法可以获取当前目录路径并自行计算路径。

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