图像不显示

时间:2019-01-23 12:11:46

标签: node.js mongodb

我创建了一个图片库网站。页面上有很多图像的位置,当我单击其中一张图像时,必须将其显示在具有完整详细信息的另一页中。这是我的路线文件,在其中获取图像文件并将其发送到另一个名为solo.ejs的页面:

app.get('/checkout/:filename', (req,res) => {
gfs.files.findOne({filename: req.params.filename}, (req,file) =>{
 // Check if File
 if(!file || file.length ===0)
 {
  return res.status(404).json({
    err: 'No files exist'
  });
 }
 // Check if image
 if(file.contentType === 'image/jpeg' || file.contentType === 'image/png')
 {
  // Read output tp browser
  var readstream = gfs.createReadStream(file.filename);
  readstream.pipe(res);
  res.render('solo',{files:file});

 }
 else
 {
  res.status(404).json({
    err: 'Not an image'
  });
 }
});

});

以下代码说明了单独页面中的显示部分:

<% if(typeof files !== 'undefined') {
        console.log(files.filename); %>
             <a href=""><img src="checkout/<%= files.filename %>" alt="" > 
 </a>
         </div>
  <% } else { %>
      <p>No files to show </p>
  <% } %>

我创建了一个console.log程序来检查solo.ejs中的图像是否可用。我得到的结果如下图所示:

 { _id: 5c46aa418f52fd4b7c5fb656,
  length: 32497,
  chunkSize: 261120,
  uploadDate: 2019-01-22T05:29:37.314Z,
  filename: '9cbddc89a382420db43a94a4fefce966.jpg',
  md5: 'd560fc2c41085a78af1d66a8f21fb295',
  contentType: 'image/jpeg',
  metadata: { username: 'anne', age: '20' } }

为什么图像不显示在solo.ejs上?

0 个答案:

没有答案