关于获取文件扩展属性的问题
发布于 12 年前 作者 dolphinboy 4804 次浏览 最后一次编辑是 8 年前

目前通过 fs.stat(path, [callback]) 这个方法可以获得一个 fs.Stats 对象,但是这个对象只包含文件共有的普通的属性:

{ dev: 2114,
  ino: 48064969,
  mode: 33188,
  nlink: 1,
  uid: 85,
  gid: 100,
  rdev: 0,
  size: 527,
  blksize: 4096,
  blocks: 8,
  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 } 

但是如果我想获得一张图片的扩展属性,例如光驱大小,拍摄日期,图片尺寸等这些详细的属性该怎么办呢,Nodejs能不能解析,有什么好的解决方案,难道非要自己用C写第三方原生模块吗?

6 回复

Node 一个不好玩是和写服务器不相关的模块真心太少了

刚看到一个网站 http://exif.cn/ 解析Exif信息很牛掰啊,不知道是怎么实现的,貌似PHP支持解析Exif信息,感觉Nodejs的原生模块写起来太复杂了,有难度……

jpeg是有公开格式的, 比如前2个字节表示什么, 下4个字节表示什么,具体你可以参阅http://www.blogjava.net/wilsonny/archive/2005/07/01/7000.aspx

这些信息应该都存放在文件的二进制字节中的某一段,有相关的解析方式的。甚至还可以往图片里面写入一些程序片段或者隐藏域作为彩蛋。

就是说只能用C写原生模块来操作了?!

回到顶部