gpt4 book ai didi

html - Node js。发送包含图像的 html

转载 作者:搜寻专家 更新时间:2023-11-01 00:12:05 25 4
gpt4 key购买 nike

我使用 node js 构建了一个简单的服务器。我希望发送一个包含图像的 html。

好的,所以我知道如何发回 html 文件。而且我知道如何发回图像。

当我发送带有 <img src = 'green2.jpg'> 的 html 响应时在里面,页面加载时图像损坏。

有什么想法吗?

相关代码:

var net = require ('net');
var url = require('url');
var fs = require('fs');

var server = net.createServer(function (socket) {
socket.on('end', function() {
console.log('server disconnected');
});

socket.on('data', function(data) {
get();
});

var get = function (parse) {
fs.readFile('example.html', function(err, data) {
if (err) throw err;
socket.write('HTTP/1.0 200 OK\r\nDate: Fri, 31 Dec 1999 23:59:59 GMT\r\nContent-Type: text/html\r\n\r\n');
socket.write(data);
socket.end();
});
}
});

server.listen("8888");

最佳答案

您当前的代码是这样说的:

每当我收到任何请求时,请发送 example.html 的内容。

如果有人请求/whatever.jpg,他们将获得 example.html 的内容,这当然会向您显示损坏的图像。

如果你想使用 node.js 服务静态文件,你可能会想使用像 Express.js 这样的东西。它使用此处引用的 express.static 中间件自动处理它: http://expressjs.com/api.html#app.use

显然“使用 express”不是您问题的答案,但使用纯 node.js 的问题答案是以下之一:

  1. 安装像 node-static 这样的模块来处理图像等静态文件。 Tutorial here
  2. req.url 上使用 switch 语句来确定我们的服务器正在寻找哪个文件,并使用类似于 fs.readFile('example.html') 的方式将其发送,但这也可以读取图像文件。

关于html - Node js。发送包含图像的 html,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13752239/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com