2013-06-29 99 views
1

我正试图在目录中显示所有图像。图像上传后,我想相应地显示它们。但是,使用我当前的代码mt页面只能生成一个图像元素,并且该图像的链接已损坏。由于我通常对JavaScript和nodejs不熟悉,因此可能需要执行一些额外的步骤。任何帮助是极大的赞赏。显示目录中的所有图像

function show(response, request) { 
    console.log("Request handler 'show' was called."); 
    fs.readdir("./tmp", function(error, files) { 
     response.writeHead(200, {'content-type': 'image/png'}); 
     if (error) { 
      console.error(error.message); 
     } else { 
      files.forEach(function(file) { 
       response.write("./tmp/" + file, 'binary'); 
       console.log('Image: ./tmp/' + file +' written'); 
      }); 
      response.end(); 
     } 
    }); 
    console.log('All images written'); 
} 
+0

这是非常奇怪的代码,为什么不只是在HTML页面中创建所有文件的img标签? –

回答

1

目前您正在使用图像/ PNG多个图像响应,您的浏览器不知道如何处理这一切做的,你必须有一个HTML标记,并与标签显示的图像,所以如果你有处理程序静态内容将您的图像放置在您的Web服务器可以提供的目录中,例如localhost:3000/images/img1.png(如果您在localhost 3000上运行服务器),将您的响应内容类型更改为text/html,迭代做response.write(')