繁体   English   中英

Node.js服务器不显示图像

[英]Node.js server don't show image

我在这里遇到问题,我正在使用node.js框架来处理对我的index.html的请求。 index.html文件包含一些图像,但是对我的用户而言不显示! 我正在阅读index.html和.png这两个文件。 你们能帮我吗? 这是我的server.js:

var app = require('http').createServer(handler)
var io = require('socket.io').listen(app)
var fs = require('fs')

app.listen(4000);

function handler (req, res) {
  fs.readFile(__dirname + '/index.html',
  function (err, data) {
    if (err) {

      return res.end('Error loading index.html');
    }

    res.end(data);

  });


  fs.readFile(__dirname + '/blackq.png', function (err, data) {
    if (err) {

      return res.end('Error loading index.html');
    }

    res.end(data);

  });


}

提前表示感谢!

仅用于概念验证的快速解决方案可能是这样的:

在html文件中,确保已正确完成img标签。

<img src="/your_image.jpg" alt="your_image" style="width:304px;height:228px;">

在您的node.js服务器文件中,添加

  if (req.url == "/index.html") {
  //res.end your html file
  return;
  }

  //to display image
  if (req.url == "/your_image.jpg") {

     var img = fs.readFileSync('./your_image.jpg');
     res.writeHead(200, {'Content-Type': 'image/jpg' });
     res.end(img, 'binary');

     return;

  }

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM