【问题标题】:file path and delete file in nodejsnodejs中的文件路径和删除文件
【发布时间】:2013-11-28 02:56:17
【问题描述】:

我想删除list_file_to_delete中的3个文件,但我不知道“这里的三个文件的路径”的路径是什么?我需要 for loop/for in/forEach 函数来删除全部还是只需要一个可能有 3 个路径的字符串 var string = "...a1.jpg, ...a2.jpg,...a3.jpg"?提前致谢

delete.js 文件中

var list_file_to_delete = ["/images/a1.jpg", "/images/a2.jpg", "/images/a3.jpg"]
fs.unlink(path to three files here, function(err) {console.log("success")})

这是myapp目录

 myapp
      /app
          /js
             delete.js
      /public
             /images
                    a1.jpg
                    a2.jpg
                    a3.jpg
      server.js

【问题讨论】:

  • 反引号不是引号。仅使用它们来包围代码。

标签: node.js file-io express path filepath


【解决方案1】:

fs.unlink 接受一个文件,因此取消链接每个元素:

list_of_files.forEach(function(filename) {
  fs.unlink(filename);
});

或者,如果您需要顺序但异步的删除,您可以使用以下 ES5 代码:

(function next(err, list) {
  if (err) {
    return console.error("error in next()", err);
  }
  if (list.length === 0) {
    return;
  }
  var filename = list.splice(0,1)[0];
  fs.unlink(filename, function(err, result) {
    next(err, list);
  });
}(null, list_of_files.slice()));

【讨论】:

  • 谢谢,文件路径怎么样,我使用 /../public/images/a1.jpg 不起作用
  • 路径是相对于你使用node yourscript.js的目录,所以如果你在myapp目录中调用它,你会取消链接文件为“./public/images/a1.jpg "等
  • 现在可以使用了,非常感谢。但我不明白为什么,因为我认为我们使用相对路径以防 js 目录中的公共目录
  • 相信我,迈克。他们是数百名刚刚开始学习 NodeJS 或任何其他技术的人。只要所提供的信息是有效的,拥有广泛的意见和替代方案将节省他们数小时的调试时间。而且我认为问题是否存在 3 年并不重要。关于某个主题的新信息总是一件好事。 ?
  • 我发现 ALLJs 的评论很有用 ;)
猜你喜欢
  • 2019-08-18
  • 1970-01-01
  • 1970-01-01
  • 2012-10-13
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多