如何在nodeJS中获取多个图像?

问题描述 投票:1回答:2

所以,问题是我有两个jpg图像,你可以在HTML代码中看到。但只有download.jpg显示的不是lenovo.jpg,但两者都显示在req.url控制台图像中,并且还附加了输出。

HTML output

Console ScreenShot

这是我的js文件

//creating web server
var http = require('http');
var fs = require('fs');     
var path = require('path');
 http.createServer(function(req,res){   

    if(req.url === "/"){        
        fs.readFile('./public/index.html',"UTF-8", function(err,html){
            res.writeHead(200,{'content-type': 'text/html'});
            res.end(html);
        });
    }
    else if(req.url.match("\.css$")){
        var cssPath = path.join(__dirname, '/public', req.url);
        var fileStream = fs.createReadStream(cssPath, "UTF-8");
        res.writeHead(200, {'content-type': 'text/css'});
        fileStream.pipe(res);
    }
    else if(req.url.match("\.jpg$")){
        var imagePath = path.join(__dirname,'/public',req.url);
        var fileStream = fs.createReadStream(imagePath);
        res.writeHead(200,{'content-type': 'image/jpg'});
        fileStream.pipe(res);
    }
    console.log(req.url);
 }).listen(3000);

我的Html

<!DOCTYPE html>
<html>
<head>
    <!-- <meta charset="utf-8"> -->
    <meta http-equiv="X-UA-Compatible" content="ie=edge">
    <title>My HTML Page</title>
    <link rel="stylesheet" type="text/css" href="./css/base.css">
</head>
<body>
    <h1> My First Heading From the Page of html </h1>
    <img src="./images/download.jpg">
    <img src="./images/lenovo.jpg">
</body>
</html>
html node.js
2个回答
0
投票

看看你的lenovo.jpg图像的大小它具有非常高的分辨率请使用低分辨率或在img标签中定义宽度和高度。


0
投票

如果你没有严格要求不使用express,我建议你使用express,你可以使用express'静态文件处理方法来处理它:https://expressjs.com/en/starter/static-files.html

© www.soinside.com 2019 - 2024. All rights reserved.