使用JavaScript将文件保存到与当前文件相同的目录是否可能?

3

我正在编写在本地Web服务器上执行的JavaScript代码。是否可能让该代码生成另一个文件,然后将其添加到与原始文件相同的目录中?如果可以,怎么做呢?


请更加精确。您是在客户端运行代码还是服务器端? - Chris Satchell
NodeJS 技术上是 JavaScript 和服务器端。 - dotKn0ck
2个回答

2

我不是这方面的专家,但我会尽力帮忙。据我所知,在服务器上创建文件的唯一方式是通过服务器端代码来完成。您可以让JavaScript调用某个终端点以创建文件。但我认为直接创建文件是不可能的。


这个实现会是什么样子?抱歉,我对基于Web的编程还很陌生。 - user2593758
我认为一个好的起点是使用Node.js。如果你已经了解JavaScript,那么你不需要学习一门新语言。但是,肯定会有一个学习曲线。我是从这里开始入门的。 - Alex Bieg
结构应为:客户端->http.post->保存文件->向客户端返回确认信息。 - Alex Bieg

2
随着HTML5的发展,情况已经发生了巨大变化,答案是“是的!”,前提是使用现代浏览器和/或利用可能有助于此项工作的JavaScript库。请参见这里这里。如果您将浏览器的下载设置更改为本地Web服务器所需的文件夹,当您提交表单时,文件将被下载到该位置。我在Windows桌面上使用Google Chrome 49并使用wampserver尝试了这一点,并且文件确切保存在指定的文件夹中,在此之后,从这里fork代码,并在我想要下载新文件的目录中成功运行于我的本地web服务器。

来自codepen.io的相关jQuery代码:

$("#btn-save").click( function() {
      var text = $("#textarea").val();
      var filename = $("#input-fileName").val()
      var blob = new Blob([text], {type: "text/plain;charset=utf-8"});
      saveAs(blob, filename+".txt");
    });

这不会将文件保存在与当前文件相同的目录中。您需要更改浏览器设置。 - Ali Rehman

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