文件系统(fs)找不到包含空格的文件(Node js)

时间:2018-03-20 23:08:32

标签: javascript node.js fs

我开发了一个文件系统,我从一个文件夹开始,当用户点击它们时,我会递归地显示文件夹和文件。

我没有问题遍历文件名之间没有空格的地方,但是一旦我输入带有空格的名称,我就会收到错误。例如:

Home
 .My Documents
 .Downloads
 .Desktop

我收到的错误是

REQUEST ./Home/My%20Documents
{ Error: ENOENT: no such file or directory, scandir './Home/My%20Documents'
  errno: -2,
  code: 'ENOENT',
  syscall: 'scandir',
  path: './Home/My%20Documents' }

我试着查一查,但有人能给我一个关于如何解决这个问题的提示吗?

content.hbs

{{#each contents}}
            <tr>
                {{#if isFolder}}
                <td>
                    <a href="/{{name}}">
                    <div><img style="vertical-align:middle" src="folder.png" height="32" width="32" > <span style="margin-left: 20px">{{name}}</span></div></a> </td>
                <td></td>
                <td></td>
                {{else}}
                <td><div><img style="vertical-align:middle" src="file.png" height="32" width="32" > <span style="margin-left: 20px">{{name}}</span></div> </td>
                <td>{{size}} Mb</td>
                <td></td>
                {{/if}}
            </tr>
            {{/each}}

1 个答案:

答案 0 :(得分:2)

您似乎正在从查询字符串接收路径。一旦明确编码,您将必须path = decodeURIComponent(path)