在Raspberry Pi上使用HTML和Node.js显示图像
我在Raspberry Pi上有一个运行Node.js的网络服务器程序。我想在index.html上显示图像,但是图像不加载/显示。
我为webserver.js,index.html和我的图像(chmod -v 777)设置了权限。如果使用浏览器打开index.html,则会显示图像。如果我输入例如浏览器中的“ localhost:8080 / image.png”,该页面不会加载/显示。来自互联网的外部链接可以正常工作。
index.html:
var canvas = document.getElementById('canvas');
var context = canvas.getContext('2d');
var img = new Image();
img.src = 'image.png';
img.onload = () => {
context.drawImage(img, 0, 0);
};
image.png与index.html在同一文件夹中
也无法正常工作:
<img src='image.png'>
webserver.js:(此代码来自.asp)
http.listen(8080);
function handler (req, res){
fs.readFile(__dirname + '/public/index.html', function(err, data) {
if (err) {
res.writeHead(404, {'Content-Type': 'text/html'});
return res.end("404 Not Found");
}
res.writeHead(200, {'Content-Type': 'text/html'});
res.write(data);
return res.end();
});
}
index.html或Web服务器可能无法“到达”图像。也许我也必须将服务器程序“讲”到服务器映像?由于我是Web编程的新手,所以我被困在这里。
谢谢你。
回答如下:我在这里找到了可行的解决方案:How to serve an image using nodejs(我正在使用描述的“ http-version”)
在Raspberry Pi上使用HTML和Node.js显示图像
我在Raspberry Pi上有一个运行Node.js的网络服务器程序。我想在index.html上显示图像,但是图像不加载/显示。
我为webserver.js,index.html和我的图像(chmod -v 777)设置了权限。如果使用浏览器打开index.html,则会显示图像。如果我输入例如浏览器中的“ localhost:8080 / image.png”,该页面不会加载/显示。来自互联网的外部链接可以正常工作。
index.html:
var canvas = document.getElementById('canvas');
var context = canvas.getContext('2d');
var img = new Image();
img.src = 'image.png';
img.onload = () => {
context.drawImage(img, 0, 0);
};
image.png与index.html在同一文件夹中
也无法正常工作:
<img src='image.png'>
webserver.js:(此代码来自.asp)
http.listen(8080);
function handler (req, res){
fs.readFile(__dirname + '/public/index.html', function(err, data) {
if (err) {
res.writeHead(404, {'Content-Type': 'text/html'});
return res.end("404 Not Found");
}
res.writeHead(200, {'Content-Type': 'text/html'});
res.write(data);
return res.end();
});
}
index.html或Web服务器可能无法“到达”图像。也许我也必须将服务器程序“讲”到服务器映像?由于我是Web编程的新手,所以我被困在这里。
谢谢你。
回答如下:我在这里找到了可行的解决方案:How to serve an image using nodejs(我正在使用描述的“ http-version”)