31 lines
803 B
TypeScript
31 lines
803 B
TypeScript
|
import fs from "fs";
|
||
|
import path from "path";
|
||
|
|
||
|
/**
|
||
|
* 读取指定路径下的所有.stl文件
|
||
|
* @param dirPath 要搜索的目录路径
|
||
|
* @returns 返回包含所有.stl文件名的数组
|
||
|
*/
|
||
|
export const findSTLFiles = (dirPath: string): Promise<string[]> => {
|
||
|
return new Promise((resolve) => {
|
||
|
// 检查路径是否存在
|
||
|
if (!fs.existsSync(dirPath)) {
|
||
|
resolve([]); // 路径不存在时返回空数组
|
||
|
return;
|
||
|
}
|
||
|
|
||
|
// 异步读取目录内容
|
||
|
fs.readdir(dirPath, (err, files) => {
|
||
|
if (err) {
|
||
|
resolve([]); // 读取错误时返回空数组
|
||
|
} else {
|
||
|
// 过滤出.stl文件
|
||
|
const stlFiles = files.filter(
|
||
|
(file) => path.extname(file).toLowerCase() === ".stl"
|
||
|
);
|
||
|
resolve(stlFiles);
|
||
|
}
|
||
|
});
|
||
|
});
|
||
|
};
|