繁体   English   中英

使用文件系统访问 API (javascript) 重命名/移动文件

[英]Renaming / moving files using File System Access API (javascript)

我一直在关注这篇文章,以允许用户(半)自动将客户端生成的 XML 文件保存到特定的本地文件夹。 第三方程序正在监视此文件夹并将处理其内容并将内容输出到另一个文件中。

问题是从创建文件到使用 close() 方法将内容实际写入文件大约需要 250 毫秒。

有时第三方程序会检测到文件已创建并在写入之前尝试读取其内容。 该程序不支持在尝试读取文件内容之前添加延迟。

我已经考虑将文件写入临时位置并在关闭后将其移动,但这似乎无法使用此 API。 重命名文件也是如此。

使用普通对话框创建/下载文件可能会起作用,但这需要使用文件系统访问 API 可以避免的手动步骤。

另一种解决方案是安装一个本地程序,该程序可以在关闭时将文件从临时文件夹移动到程序监视文件夹,但我宁愿避免在客户端上安装软件。

有没有其他方法可以避免这个问题?

谢谢

现在有一种重命名和移动文件的方法(目前在 Chrome 96 中在实验性网络平台功能标志后面实现):

// Get references to a file and a directory.
const [file] = await showOpenFilePicker();
const directory = await showDirectoryPicker();

// Rename the file.
await file.rename('new_name');
// Move the file to a new directory.
await file.move(directory);
// Move the file to a new directory and rename it.
await file.move(directory, 'newer_name');

您可以通过订阅此 PR来遵循规范工作。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM