2
const dirHandle = await window.showDirectoryPicker();
await dirHandle.requestPermission({ mode: "readwrite" });

我在 chrome 中使用文件系统访问 API。我想让用户选择一个文件夹,然后写入该文件夹。

我的代码有效,但按顺序显示了两个警报,一个用于读取,一个用于写入: 在此处输入图像描述 在此处输入图像描述

第一个是不必要的。我怎样才能避免它?

有趣的是,如果用户使用拖放,在文件夹被删除后只会出现第二个警报,这是期望的行为。第一个警报似乎来自showDirectoryPicker。在理想的世界中,我想能够传递一个像showDirectoryPicker({ permission: 'readwrite' }).

4

1 回答 1

0

我同意这感觉不太理想,但这是一次性的。当您再次运行相同的代码并选择相同的文件夹(或嵌套文件夹)时,根本不会有任何提示。

之所以选择这种设计,是因为这里有两个不同的问题:

  • 首先,让应用程序读取所有文件(对于子文件夹,递归可能很多)。
  • 其次,允许应用程序写入(任何地方)到文件夹中。
于 2021-11-25T15:31:32.997 回答