簡體   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