关于获取文件扩展属性的问题
目前通过 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 回复
刚看到一个网站 http://exif.cn/ 解析Exif信息很牛掰啊,不知道是怎么实现的,貌似PHP支持解析Exif信息,感觉Nodejs的原生模块写起来太复杂了,有难度……
jpeg是有公开格式的, 比如前2个字节表示什么, 下4个字节表示什么,具体你可以参阅http://www.blogjava.net/wilsonny/archive/2005/07/01/7000.aspx
imageMagick
这些信息应该都存放在文件的二进制字节中的某一段,有相关的解析方式的。甚至还可以往图片里面写入一些程序片段或者隐藏域作为彩蛋。
就是说只能用C写原生模块来操作了?!