请问node如何获得文件的meta信息?
发布于 7 年前 作者 meiwhu 3808 次浏览 来自 问答

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

11 回复

直接读取文件

const fileInfo = fs.readFileSync(filepath);
console.log(fileInfo);

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

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

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

@imhered 这个容易被篡改哈;(你这个表情怎么发的)

@dotnil 嗯 file-type还不错,可以解决问题。

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

@imhered 就是file-type模块就可以了;可以获得mime。 https://github.com/sindresorhus/file-type 😀

@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这属性,得要用其它方法弄了。

回到顶部