获取目录 node-fs 中所有带有信息(名称、类型、大小)的文件
Get all files with infos(name, type, size) within directory node-fs
我有一个路由到我想读取的位置
var route = ('F:\uploads\ponys');
与 var rez = fs.readdirSync(route, 'utf8');
它 return 路由内所有文件(和文件夹)的数组。
console.log(rez);
[ 'file.rtf',
'Course.rtf',
'extra.png',
'ar102.rar',
'New folder']
我想要 return 一个包含名称、类型和大小的 JSON 对象。我怎样才能继续获得这个:
{
"files":[
{"name": "file", "type": "rtf", "size": 3445}, [or with "."(.rtf)]
{"name": "Course", "type": "rtf", "size": 900},
{"name": "extra", "type": "png", "size": 2424},
{"name": "ar102", "type": "rar", "size": 340432},
{"name": "New folder", "type": "", "size": 123456789}
]
}
对于目录中的每个文件,您尝试获取 3 个值:
- 文件名: 已经用
readdirSync
) 得到
- 文件扩展名: 使用
path.extname(filename)
- 文件大小: 使用
fs.statSync(filename).size
1。获取文件扩展名示例
const path = require('path');
const extension = path.extname('index.html');
// 'html'
2。获取文件大小示例
const fs = require('fs');
const fileSizeInBytes = fs.statSync('file.html').size;
3。完整方法
const path = require('path');
const fs = require('fs');
const getFileInfoFromFolder = (route) => {
const files = fs.readdirSync(route, 'utf8');
const response = [];
for (let file of files) {
const extension = path.extname(file);
const fileSizeInBytes = fs.statSync(file).size;
response.push({ name: file, extension, fileSizeInBytes });
}
return response;
}
const { name, extenstion, fileSizeInBytes } = getFileInfoFromFolder("...")
我有一个路由到我想读取的位置
var route = ('F:\uploads\ponys');
与 var rez = fs.readdirSync(route, 'utf8');
它 return 路由内所有文件(和文件夹)的数组。
console.log(rez);
[ 'file.rtf',
'Course.rtf',
'extra.png',
'ar102.rar',
'New folder']
我想要 return 一个包含名称、类型和大小的 JSON 对象。我怎样才能继续获得这个:
{
"files":[
{"name": "file", "type": "rtf", "size": 3445}, [or with "."(.rtf)]
{"name": "Course", "type": "rtf", "size": 900},
{"name": "extra", "type": "png", "size": 2424},
{"name": "ar102", "type": "rar", "size": 340432},
{"name": "New folder", "type": "", "size": 123456789}
]
}
对于目录中的每个文件,您尝试获取 3 个值:
- 文件名: 已经用
readdirSync
) 得到
- 文件扩展名: 使用
path.extname(filename)
- 文件大小: 使用
fs.statSync(filename).size
1。获取文件扩展名示例
const path = require('path');
const extension = path.extname('index.html');
// 'html'
2。获取文件大小示例
const fs = require('fs');
const fileSizeInBytes = fs.statSync('file.html').size;
3。完整方法
const path = require('path');
const fs = require('fs');
const getFileInfoFromFolder = (route) => {
const files = fs.readdirSync(route, 'utf8');
const response = [];
for (let file of files) {
const extension = path.extname(file);
const fileSizeInBytes = fs.statSync(file).size;
response.push({ name: file, extension, fileSizeInBytes });
}
return response;
}
const { name, extenstion, fileSizeInBytes } = getFileInfoFromFolder("...")