首页 > 解决方案 > 节点中的原始文件名

问题描述

是否可以从节点中具有绝对路径的文件中获取原始文件名?

例如,在节点中,我可以使用 获取名称和基本 urlpath.basename以及更详细的信息fs.stats,这将导致:

Stats {
  dev: 2114,
  ino: 48064969,
  mode: 33188,
  nlink: 1,
  uid: 85,
  gid: 100,
  rdev: 0,
  size: 527,
  blksize: 4096,
  blocks: 8,
  atimeMs: 1318289051000.1,
  mtimeMs: 1318289051000.1,
  ctimeMs: 1318289051000.1,
  birthtimeMs: 1318289051000.1,
  atime: Mon, 10 Oct 2011 23:24:11 GMT,
  mtime: Mon, 10 Oct 2011 23:24:11 GMT,
  ctime: Mon, 10 Oct 2011 23:24:11 GMT,
  birthtime: Mon, 10 Oct 2011 23:24:11 GMT }

然而,这些方法都不会给我文件的原始名称,这对于相互比较 2 个文件很有用。例如,如果我下载了file.exe从某个网站调用的文件,然后再次下载相同的文件,则新文件将被调用file (1).exe,因此与原始文件的名称不同。

因此,我无法将文件名相互比较。

有谁知道一个好的解决方案?

标签: javascriptnode.jsfilenodes

解决方案


例如,如果我下载了file.exe从某个网站调用的文件,然后再次下载相同的文件,则新文件将被调用file (1).exe,因此与原始文件的名称不同。

在一般情况下,文件名不会存储在文件数据中的任何地方,因此如果您已将文件下载为file (1).exe,则无法知道它file.exe在过去的某个时间点被调用过。

在 .exe 文件的特定情况下,某些名称可能会或可能不会出现在文件内容的某个位置,但它不一定是您重命名它之前最近使用的名称。


推荐阅读