Javascript 在nodejs中访问网络驱动器?
我试图列出S:/test文件夹中的文件,该文件夹位于我的网络中(不是本地目录)。我想知道怎么做?到目前为止,代码如下所示:Javascript 在nodejs中访问网络驱动器?,javascript,node.js,networking,Javascript,Node.js,Networking,我试图列出S:/test文件夹中的文件,该文件夹位于我的网络中(不是本地目录)。我想知道怎么做?到目前为止,代码如下所示: const testFolder='s:/test'; 常数fs=要求('fs'); fs.readdir(testFolder,(err,files)=>{ files.forEach(文件=>{ console.log(文件); }); })如果这是windows(我假设是),那么您需要做几件事: 使用所需目录的完整路径(驱动器号可以,但也可以在windows中使用U
const testFolder='s:/test';
常数fs=要求('fs');
fs.readdir(testFolder,(err,files)=>{
files.forEach(文件=>{
console.log(文件);
});
})
如果这是windows(我假设是),那么您需要做几件事:
fs.readdir()
回调上使用错误处理,这样,如果出现错误,您就可以准确地看到错误是什么const fs = require('fs');
const testFolder = 's:\\test';
fs.readdir(testFolder, (err, files) => {
if (err) return console.log(err);
files.forEach(file => {
console.log(file);
});
});
我只是在自己的硬盘上尝试了这段代码,效果很好
而且,仅供参考,我现在在modern node.js中几乎总是使用ES6
for/of
,而不是.forEach()
,因为它对于解释器来说效率更高,并且可以为您提供更多的循环控制(例如,您可以使用break
退出循环)
请使用驱动器的完整地址(只是完整路径的一个简短版本)。。。这篇文章可能会对你有所帮助你是对的,我想我已经试过了,但我错了。谢谢。也请先捕获错误,
if(err)返回控制台。error(err)
或者更好地使用Promisifiedfs
Excellent,谢谢您的全面回复!使用for of真的更有效吗?for/of或Promise.all()如果你很出色的话!非常有用mac呢?
const testFolder = 's:\\test';
const fs = require('fs');
fs.readdir(testFolder, (err, files) => {
if (err) return console.log(err);
for (let file of files) {
console.log(file);
}
});