请问node如何获得文件的meta信息?
如题,扫了一遍fs的文档,发现没有fs.meta()这样的东西;请问如何获得文件的元信息啊,比如mime, size, filename等等.
11 回复
直接读取文件
const fileInfo = fs.readFileSync(filepath);
console.log(fileInfo);
@xiaotuni 大兄弟啊,你先试试好不好;结果是Buffer。
你是想问 fs.stat()
?就你列举的那三个的话,用 file-type 模块、fs.readFileSync(fpath).length
、path.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 谢谢!
@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这属性,得要用其它方法弄了。
@xiaotuni 😂 ok