2011-07-23 47 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> 

出於某種原因,圖像AREN的輸出數組不會顯示。任何想法爲什麼?

謝謝。

+0

文件權限允許服務器正在運行的用戶讀取?正確的服務器端口? – geofftnz

+0

你有一個服務於img目錄的靜態文件服務器嗎? – mkrecny

+0

謝謝,我沒有運行靜態文件服務器。 – flashbackzoo

回答

0

如果您使用快遞,您需要將文件從./img移至./public/img。否則,你需要設置靜態文件。

+0

感謝加比,我設置了節點靜態 – flashbackzoo