2016-10-18 7 views
0

私のアプリにはこのルートがあります。 urlパラメータに基づいて、いくつかのディレクトリのスキャンファイル名。現在、私のJSONは次のように見えます。nodejsでスキャンしたファイル名へのパスの追加

[{"chapter":"642","paths":["00.png","01.png","02.png","03.png","04.png","05.png"..... 

ルート:

app.get('/api/oku/:name', function (req, res) { 
    var files = fs.readdirSync('./public/manga/' + req.params.name); 
    var files = files.map(function(item){ 
     var subfolders = fs.readdirSync('./public/manga/' + req.params.name + '/' + item); 
     return { 
      chapter: item, 
      paths: subfolders 
     } 
    }) 
    res.json(files); 
}) 

単純に私はすべての画像にパスを追加します。追加したいパスは、

app.get('/api/oku/:name', function (req, res) { 
    var files = fs.readdirSync('./public/manga/' + req.params.name).map(function(item){ 
     var subfolders = fs.readdirSync('./public/manga/' + req.params.name + '/' + item); 
     return { 
      chapter: item, 
      paths: subfolders.map(function (i) { 
       return "manga/" + req.params.name + "/" + i + "/"; 
      } 
     } 
    }) 
    res.json(files); 
}) 

また、二回ファイルの変数を宣言しない:

"manga/" + req.params.name + "/" + item + "/" 

だから、単にそれがmanga/Naruto/542/00.png

+0

何を試しましたか?なぜ失敗したのですか? – DrakaSAN

+0

@DrakaSAN私は 'each 'を試していますが、それはnodejsでサポートされていません。 – Nasuh

+0

subfolders変数をマップするだけではありませんか? – jjwilly16

答えて

2

のように見えるが、これを試してみてくださいになります。

+1

ありがとうございました。その作品。 'return" manga/"+ req.params.name +"/"+ item +"/"+ i;' – Nasuh

関連する問題