使用Express和Mulder无法访问上载文件夹中的图像

我有一个build立在Node / Express / Angular上的应用程序。

我有我所有的angular度前端代码在一个“客户端”的文件夹,我有我的所有后端(nodejs和expression)在另一个文件夹(“服务器”)。

我使用Grunt将代码编译到“server / dist”文件夹中,所以当我发布到生产环境时,我只是上传“server”文件夹。

我已经添加了一个function来上传图片,并使用multer来做到这一点。

我在“服务器”目录中创build了一个“fileuploads”文件夹,并成功地将file upload到该文件夹​​。

问题:

在我的应用程序中,我需要引用图像,但即使我已经在我的服务器/ app.js文件中创build了一个静态引用,但仍无法find它们。

这是我的服务器端app.js文件的样子:

var express = require('express'); var path = require('path'); var favicon = require('serve-favicon'); var logger = require('morgan'); var cookieParser = require('cookie-parser'); var bodyParser = require('body-parser'); var mongoose = require('mongoose'); var cors = require('cors'); var multer = require('multer'); mongoose.connect('mongodb://localhost/OM'); var app = express(); // uncomment after placing your favicon in /public //app.use(favicon(path.join(__dirname, 'public', 'favicon.ico'))); app.use(logger('dev')); app.use(bodyParser.json()); app.use(bodyParser.urlencoded({ extended: true })); app.use(cookieParser()); app.use(cors()); app.use('/api', require('./routes/api')); app.use('/sendmail', require('./routes/sendmail')); app.use('/uploads', require('./routes/uploads')); app.use(express.static(path.join(__dirname, '../client/app/custom'))); app.use(express.static(path.join(__dirname, '/dist'))); app.use(express.static(path.join(__dirname, '/fileuploads'))); // production error handler // no stacktraces leaked to user app.use(function(err, req, res, next) { res.status(err.status || 500); res.render('error', { message: err.message, error: {} }); }); app.all('/*', function(req, res){ res.sendFile(path.join(__dirname, '/dist/index.html')); }); module.exports = app; 

在客户端,我尝试以下列方式访问文件:

 <img src="fileuploads/0d904f4a422ea5a8fcd9a3859b58cdb9" /> <img src="/fileuploads/0d904f4a422ea5a8fcd9a3859b58cdb9" /> <img src="../fileuploads/0d904f4a422ea5a8fcd9a3859b58cdb9" /> 

但似乎没有任何工作。

我错过了什么?

这将是很高兴有

 app.use(express.static(path.join(__dirname, '/fileuploads'))); 

 app.use('/fileuploads', express.static(path.join(__dirname, '/fileuploads'))); 

或者这样缩短:

 app.use('/fileuploads', express.static(process.cwd() + '/fileuploads')); 

这样,你将能够在你的应用程序的任何地方访问它: <img src="/fileuploads/0d904f4a422ea5a8fcd9a3859b58cdb9" />这基本上是说“任何我称为fileuploads,为我服务的正确道路”。 ^ _ ^