繁体   English   中英

使用浏览器javascript,如何获取用户指定本地目录的文件和子文件夹的内容

[英]Using browser javascript, how to get the contents of the files and subfolders of the user-specified local directory

请参阅javascript 中的如何从本地 PC 获取目录的内容 有一个指向 jsfiddle 的链接,它只打印出文件的名称。 是否也可以访问他们的内容? 如果是,那么究竟如何?

可能是特定于 Google-Chrome 的答案...我找到了 https://github.com/GoogleChromeLabs/browser-nativefs 这有一个链接https://browser-nativefs.glitch.me/ 查看源代码并下载 html、css 和 mjs 文件。

我修改了 script.mjs 如下(仅共享代码的修改部分,并带有注释以指示确切的修改):

  Array.prototype.asyncForEach = async function (fn) {
    for (let i = 0; i < this.length; i++) {
      await fn(this[i], i);
    }
  };

openDirectoryButton.addEventListener('click', async () => {
    try {
      const blobs = await directoryOpen({ recursive: true });
      alert('upload of folder is done')
      //const blobs = await directoryOpen();
      let fileStructure = '';
      await/*added this 'await'*/ blobs.sort((a, b) => {
        a = a.webkitRelativePath + a.name;
        b = b.webkitRelativePath + b.name;
        if (a < b) {
          return -1;
        } else if (a > b) {
          return 1;
        }
        return 0;
      }).asyncForEach/*changed this forEach to asyncForEach*/(async (blob) => {
        // The Native File System API currently reports the `webkitRelativePath`
        // as empty string `''`.
        //added print out of file blob content
        fileStructure += `${blob.webkitRelativePath}${
          blob.webkitRelativePath.endsWith(blob.name) ?
            '' : blob.name}, content: ${await blob.text()}\n`;
      });

暂无
暂无

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

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