将文件保存到选定的目录中(javascript)

问题描述 投票:0回答:2


你好!我的问题是关于javascript的。
我想要
1. 要求用户选择一个目录
2.然后将我的一堆文件写入其中(可能通过创建子目录)而不与用户交互

我该怎么做?我可以吗?
我是 javascript 新手,希望得到您的帮助。

PS。
我听说过可以要求用户通过保存文件对话框选择路径,然后将数据保存到所选文件,但我想要求用户once选择一个目录,然后创建一堆 其中的文件 不会为每个文件打扰用户。

javascript fileapi
2个回答
5
投票

Javascript 本身无法以任何方式访问本地计算机的文件系统以进行写入。期间。

但是,Doug Neiner 开发的 Downloadify 就是为此目的而构建的,并结合使用了 Javascript 和 Flash 库。

需要Flash 10才能工作。

或者,您可以在计算机上安装 apache(或者更好的是,像 XAMPP 或 WAMP/MAMP/LAMP 这样的完整堆栈)并使用 PHP(带有 javascript/ajax)将文件写入本地文件系统。然而,这意味着该网站也必须在本地托管。也许你最好的选择是Downloadify

资源:

https://github.com/dcneiner/Downloadify

如何用jquery创建xml文件

使用Jquery保存内容?写入文件


使用AJAX保存到服务器端文件


0
投票
async function save(){
const div001 = document.querySelector('#div001');
const opts = {mode:'readwrite'};
const directoryHandle = await window.showDirectoryPicker(opts);
const file = await directoryHandle.getFileHandle('NewFileName.doc', {create:true});
const writable = await file.createWritable();
await writable.write(div001.innerHTML);
await writable.close();
};
async function saveAs(){console.log(await window.showDirectoryPicker());
}
<input type="button" onmousedown="saveAs()" value="Save in directory"/>

<div id="div001"><b>Text to save in your new file</b><div>
© www.soinside.com 2019 - 2024. All rights reserved.