【问题标题】:Node.js fs.unlinkSync removes files but not foldersNode.js fs.unlinkSync 删除文件但不删除文件夹
【发布时间】:2021-07-12 16:44:06
【问题描述】:

我可以删除所有图像文件(.png、.jpg 等...),但不能删除文件夹...

这是我的代码博客:

router.post('/remove-file', async (req, res) => {

    const removeDocuments = await req.body.removeDocuments
    // removeDocuments[0] equals to '/assets/img/folder'
    // removeDocuments[1] equals to '/assets/img/image.jpg'

    if(removeDocuments){

        for (let i = 0; i < removeDocuments.length; i++) {
            fs.unlinkSync('.' + removeDocuments[i])
        }

        res.send({
            status: true
        })

    }

})

我得到的错误代码:

(node:808) UnhandledPromiseRejectionWarning: Error: EPERM: operation not permitted, unlink './assets/img/folder'

我的问题出在哪里?如何解决?

【问题讨论】:

    标签: javascript node.js ajax fs


    【解决方案1】:

    Unlink 从文件系统中删除一个名称,以及它引用的文件。它不会删除目录,因为这可能会创建孤立文件。使用rmSyncrecursive: true 删除目录。

    【讨论】:

    • 这行得通,谢谢。 rmdirSync 也可以在不使用 recursive: true 的情况下工作。但只删除空文件夹!!!
    猜你喜欢
    • 2017-01-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-09-10
    • 1970-01-01
    • 2019-04-18
    • 1970-01-01
    相关资源
    最近更新 更多