我试图使用express框架为.png提供服务,但一直收到“cant/get”错误。
var express = require('express'),
mongoose = require('mongoose'),
fs = require('fs'),
Schema = mongoose.Schema;
app = express(),
port = process.env.PORT || 3000;
app.use('/public/media', express.static(__dirname + '/public/media/img0.png'));
app.listen(port);
console.log(__dirname + '/public/media/img0.png');
我打印出我的文件的目录名,以确保我有正确的路径。但是深入研究develepor工具会发现,由于404错误,无法加载资源。
我的文件结构是这样的。
-- admin
-- app.js public
-- media
-- img0.png img1.png
据我所见,我的静态文件服务器应该可以工作,所以我有点不知所措。思想?
最佳答案
注意这一行:
app.use('/public/media', express.static(__dirname + '/public/media/img0.png'));
也就是说,如果浏览器要求
/public/media
,那么请提供png文件。这样就行了。如果浏览器要求
/public/media/img0.png
,则为404。看来你的意思是:
app.use('/public/media', express.static(__dirname + '/public/media'));
这将为
/public/media
服务404,但如果对应的映像文件存在,则将在该目录中指定任何映像。因此,如果浏览器要求/public/media/img0.png
,它将得到它。关于linux - 使用Express Framework提供图像,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/30112495/