node.js - Using fs.readdir and fs.statSync returns ENOENT, no such file or directory error -
यह काम करता है:
var वादा = नया भविष्य (), डायर = [], स्टेट; Fs.readdir (रूट + पी, फ़ंक्शन (त्रुटि, फ़ाइलें) {_.each (फ़ाइलें, फ़ंक्शन (फ़ाइल) {// stat = Fs.statSync (file); // if (stat.isDirectory ()) {dirs। पुश (फ़ाइल); //}}); वायदा। रार्न (डाइर्स);}); यह नहीं है:
var वादा = नया भविष्य (), dirs = [], stat; Fs.readdir (रूट + पी, फ़ंक्शन (त्रुटि, फ़ाइलें) {_.each (फ़ाइलें, फ़ंक्शन (फ़ाइल) {stat = Fs.statSync (फ़ाइल); अगर (stat.isDirectory ()) {dirs.push (फ़ाइल) ;}}); वायदा। रातर (दिर्स);}); "त्रुटि: ईनोन्ट में परिणाम, ऐसा कोई फ़ाइल या निर्देशिका 'फोंट'"
फोंट पेड़ में पहली निर्देशिका है, और वह मौजूद है।
मुझे मूर्खतापूर्ण कुछ याद करना होगा मैं केवल फ़ोल्डर / निर्देशिका नामों को वापस करने की कोशिश कर रहा हूं।
जब भी मैं उस पर हूं, क्या किसी को पता है कि सभी स्तरों के निर्देशिका कैसे लौटाएंगे?
उदाहरण के लिए, परिणाम हो सकता है:
["फोंट्स", "फोंट / फ़ॉन्ट-भयानक", "चित्र", "चित्र / कुछ पाथ", "चित्र / कुछपथ / अन्यपाथ"] मैं मदद की सराहना करता हूं!
readdir आपको फ़ोल्डर में प्रविष्टियों के नाम देता है, संपूर्ण पथ नहीं। यह काम करेगा: stat = Fs.statSync (रूट + पी + "/" + फ़ाइल); पूरे कोड:
var वादा = नया भविष्य (), dirs = [], stat, fullPath; Fs.readdir (रूट + पी, फ़ंक्शन (त्रुटि, फ़ाइलें) {_.each (फ़ाइलें, कार्य (फ़ाइल) {fullPath = root + p + "/" + file; stat = Fs.statSync (पूर्णपाथ); अगर (स्टेट .isDirectory ()) {dirs.push (पूर्णपैथ);}}); वादा। रातर (डीआईएस);});
Comments
Post a Comment