Я пытался прочитать имя файла из папки, в которой он работал, прежде чем я добавил объект маршрутизации, чтобы получить значение нужного мне файла в папке из 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-файла, в определенную папку с заданным идентификатором, который будет соответствовать имени из хэш-карты, имеющей значение ключа для файлов, представленных в папке.