参考:http://blog.csdn.net/wangzhikui1/article/details/52200607
fs模块使用:http://www.runoob.com/nodejs/nodejs-fs.html
最近在测试各平台提供人脸功能。
用nodejs 实现读取人脸数据并册注到API平台人脸库的功能。所以就需要一个能得到某目录下所有文件的路径的实现。
code:
var fs = require("fs");
function readFileList(path, filesList) {
var files = fs.readdirSync(path);
files.forEach(function(itm, index) {
var stat = fs.statSync(path + itm);
if (stat.isDirectory()) {
readFileList(path + itm + "/", filesList)
} else {
var obj = {};
obj.path = path;//路径
obj.filename = itm//名字
obj.fullPath = path + itm;//全路径
filesList.push(obj);
}
})
}
1 fs.readdirSync(path) 同步 readdir().返回文件数组列表。
2 forEach() 方法用于调用数组的每个元素,并将元素传递给回调函数。itm为当前元素, index为索引。
Sample:
Var FileList= [];
readFileList("/home/xxx/", FileList);
Console.info(FileList)
Result:
[ { path: './facetest/pass/',
filename: 'Bill_Callahan_0001.jpg',
fullPath: './facetest/pass/Bill_Callahan_0001.jpg' },
{ path: './facetest/pass/',
filename: 'Christine_Gregoire_0004.jpg',
fullPath: './facetest/pass/Christine_Gregoire_0004.jpg' },
{ path: './facetest/pass/',
filename: 'Cindy_Crawford_0001.jpg',
fullPath: './facetest/pass/Cindy_Crawford_0001.jpg' }]