CNode

请问node如何获得文件的meta信息?

问答
Mmeiwhu发布于9 年前最后回复9 年前11 回复5045 浏览0 收藏

如题,扫了一遍fs的文档,发现没有fs.meta()这样的东西;请问如何获得文件的元信息啊,比如mime, size, filename等等.

查看回复

回复 (11)

I
im-here#2·9 年前

好像不行。 我之前的做法是把所有可能出现的mime写成一个object,key是文件的后缀名,value就是mine,拿到文件后缀名后 再去取到mime😂

X
xiaotuni#3·9 年前

直接读取文件

const fileInfo = fs.readFileSync(filepath);
console.log(fileInfo);
M
meiwhu#4·9 年前
引用 xiaotuni直接读取文件

@xiaotuni 大兄弟啊,你先试试好不好;结果是Buffer。

D
dotnil#5·9 年前

你是想问 fs.stat()?就你列举的那三个的话,用 file-type 模块、fs.readFileSync(fpath).lengthpath.basename(fpath) 就能获取了

I
im-here#7·9 年前
引用 meiwhu@imhered 这个容易被篡改哈;(你这个表情怎么发的)

@meiwhu 😂🤣😝😘🤡就是emoji表情啊 关注你的帖子,解决了艾特我一下。

X
xiaotuni#10·9 年前
引用 meiwhu@xiaotuni 大兄弟啊,你先试试好不好;结果是Buffer。

@meiwhu 不好意思呀,

const s = fs.statSync('./doc/img/image.png');
console.log( JSON.stringify(s);

{
    "dev":3056086475,
    "mode":33206,
    "nlink":1,
    "uid":0,
    "gid":0,
    "rdev":0,
    "ino":3096224743827585,
    "size":10499,
    "atimeMs":1505986414599.8872,
    "mtimeMs":1505986414614.8882,
    "ctimeMs":1505987022292.6455,
    "birthtimeMs":1505986414546.8843,
    "atime":"2017-09-21T09:33:34.600Z",
    "mtime":"2017-09-21T09:33:34.615Z",
    "ctime":"2017-09-21T09:43:42.293Z",
    "birthtime":"2017-09-21T09:33:34.547Z"
}

文件名或mime这属性,得要用其它方法弄了。

参与回复
登录后即可参与回复。登录