чтение всех имен файлов из папки в NodeJS - PullRequest
0 голосов
/ 17 мая 2019

Я пытался прочитать имя файла из папки, в которой он работал, прежде чем я добавил объект маршрутизации, чтобы получить значение нужного мне файла в папке из Angular Но после добавления части маршрутизации я не могу получить код запуска метода walker.on

var router = require( "express" ).Router();
var walk = require( 'walk' );
var HashMap = require( 'hashmap' );
var extract = require( 'extract-zip' );
var map = new HashMap();
module.exports = function ( arrg ) {
    router.post( arrg.config.apiUrlInitial + "/selectedCountry", ( req, res, next ) => {
        var input_Id_from_Angular  = req.body.country;
        console.log( 'inside selectedCountry.js', input_Id_from_Angular );
        var file_path;
        var walker = walk.walk( '../../category_xml/', { followLinks: true } );
        console.log('walker' , walker.on)
        // Reading all the files with in the folder
        walker.on( 'file', function ( root, file, next ) {
            console.log('**********************');
            company_id = Object.values( ( file.name ).split( '_' ) )[ 2 ]; //extracting company id only 
            map.set( company_id, root + '/' + file.name )
            next();
        } );

        // returning the xml-file from zip file with matching company id coming from angular
        walker.on( 'end', function () {
            console.log( 'file walked' );
            file_path = map.get( input_Id_from_Angular );
            extract( file_path,
                { dir: 'D:/Projects/Node/public/' }, function ( err ) {
                    if ( err ) console.log( 'err -----> ', err.stack )
                } );
        } );
    } );
    return router;
}

Ожидается, что я получу файл, извлеченный из zip-файла, в определенную папку с заданным идентификатором, который будет соответствовать имени из хэш-карты, имеющей значение ключа для файлов, представленных в папке.

...