gpt4 book ai didi

javascript - express 发送文件错误404未找到

转载 作者:行者123 更新时间:2023-12-03 05:27:57 24 4
gpt4 key购买 nike

我有以下代码服务器端代码:

var app = require('express')();
var http = require('http').Server(app);
var io = require('socket.io')(http);


app.get('/', function(req, res){
res.sendfile('index.html');
});
app.get('/data/cursor.png', function(res, res) {
res.type('png');
res.sendfile('data/cursor.png');
});

在客户端我有以下代码:

<img class="cursor" src="data/cursor.png">

当我加载index.html时,出现以下错误:获取http://localhost:3000/cursor.png 404(未找到)为什么会发生这种情况?我还发送了一些其他文件,例如 javascript 文件和 css。而且它们工作得很好......所以 res.sendfile('js/drawingV2.js');工作完全正常。

app.get('/js/drawingV2.js', function(res, res) {
res.sendfile('js/drawingV2.js');
});

有人可以向我解释一下我做错了什么吗?如果您需要更多代码或者我不清楚,请告诉我:)

最佳答案

您只是向用户发送index.html 文件,或者这就是Express 看到的方式。您需要将包含所有文件的整个目录发送给用户,这就是 express.static 的作用。

假设您有一个名为 public 的目录,其中包含index.html,还有一个名为 data 的文件夹,其中包含cursor.png。

server.js

public -

index.html

data -

cursor.png

然后 -

var express = require('express');
var app = express()
var http = require('http').Server(app);
var io = require('socket.io')(http);

app.use(express.static("public")) // serve the whole directory

还有中提琴!它应该有效。 (express.static 服务于整个目录)

关于javascript - express 发送文件错误404未找到,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41078393/

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