【问题标题】:How can I check delete permissions on a file before using fs.unlink() in node.js?如何在 node.js 中使用 fs.unlink() 之前检查文件的删除权限?
【发布时间】:2019-12-23 23:04:36
【问题描述】:

我想避免在使用 fs.unlink 删除文件或目录时出现错误,并且想在取消链接之前检查权限。我知道我可以使用fs.access 来检查文件的读取、写入和执行权限。但是没有办法检查我是否可以删除文件。我正在使用以下代码:

 fs.unlink(filepath, err => {
    if (err) throw err;
 });

【问题讨论】:

  • 错误本身可能是最可靠的检查。不想扔就不要扔,并相应处理。
  • @laggingreflex 这就是我目前正在做的事情,问题是我正在删除数千个文件并在进度条中监控它们的进度。有时,当有很多文件无法删除时,进度条不流畅(假设它有时突然从 50% 跳到 80%,这看起来不太好)。我想在尝试删除它们之前从列表中删除不可删除的文件-.
  • 您可以尝试的一件事是简单地尝试将要删除的文件移动到临时目录,然后在成功后将其删除。如果在任何时候移动失败,您可以将所有内容移回。

标签: node.js file-permissions fs


【解决方案1】:

删除权限不取决于文件本身,而是取决于其父文件。 您需要直接父目录的写权限和所有父目录的执行权限。

【讨论】:

    猜你喜欢
    • 2017-05-15
    • 1970-01-01
    • 2014-06-07
    • 1970-01-01
    • 2019-12-02
    • 1970-01-01
    • 2016-02-10
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多