2011-07-23 9 views
1

私は、次の要求ハンドラを持っているの出力配列...画像が上がらない何らかの理由nodejs - 画像

function images(res) { 

    fs.readdir("./img", function(err, files) { 
     if (err) throw err; 
     var results = []; 

     files.forEach(function(file) { 
      var dot = file.lastIndexOf(".") + 1, 
       ext = file.substr(dot, file.length), 
       fmt = ["jpg", "png", "gif"]; 

      if (fmt.indexOf(ext) > -1) 
        results.push(file); 
      } 
     }); 

     showImages(results); 
    }); 

    function showImages(images) { 
     res.writeHead(200, {"Content-Type" : "text/html"}); 
     for (i = 0; i < images.length; i++) { 
      res.write("<img src='http://127.0.0.1:8888/img/" + images[i] + "' />"); 
     } 
     res.end(); 
    } 
} 
呼び出されたときに、次のHTMLを出力し、

...

<html> 
    <head></head> 
    <body> 
     <img src='http://127.0.0.1:8888/img/image01.jpg' /> 
     <img src='http://127.0.0.1:8888/img/image02.png' /> 
     <img src='http://127.0.0.1:8888/img/image03.png' /> 
    </body> 
</html> 

表示されていません。理由は何ですか?

ありがとうございました。

+0

ファイルのアクセス許可では、サーバーが実行されているユーザーに対して読み取りを許可しますか?サーバーの正しいポートですか? – geofftnz

+0

imgディレクトリにサービスを提供する静的ファイルサーバがありますか? – mkrecny

+0

ありがとう、私は静的なファイルサーバーを実行していませんでした。 – flashbackzoo

答えて

0

Expressを使用している場合は、ファイルを./imgから./public/imgに移動する必要があります。それ以外の場合は、静的ファイルを設定する必要があります。

+0

ありがとうGabi、私はノード静的 – flashbackzoo

関連する問題