2

我有一个静态页面设置为指向我的图像目录,该目录由单独服务器上的网站拉取。出于某种原因,当我直接转到图像 URL 时,图像会加载(Chrome),如果我刷新页面,它会给我这样的错误:

Cannot GET /users/picture

我的 app.js 有这个:

var app = express();
    app.disable('view cache');
    app.use(express.static(__dirname + '/public')); //setup static public directory
    app.use('/users/picture', express.static('./public/images/users'));

... 

加上一些路线和其他东西,比如 multer() 用于图片上传。

出于某种原因,如果我在 Bluemix 上刷新生产服务器上的页面,图片会每三次加载一次。否则它会给我这个无法获取路由错误。

会不会和记忆有关?

4

2 回答 2

2

如果您不小心将多个应用程序绑定到同一路由,则可能会发生这种情况。路由器/负载平衡器正在根据某些请求选择其他应用程序。确认您的所有应用程序都绑定到 bluemix 仪表板中的正确唯一路由或执行 cf apps

于 2015-07-03T15:24:34.120 回答
0

我面临着同样的问题。我按照这里提到的步骤

Move the static middleware to the top of app.configure function, before all the other app.* calls.

app.use(express.static(__dirname + '/public'));

就我而言,我想提供一个不同的文件夹。所以我把它移到了上面,就在下面:

var app = express();
app.use(express.static(path.join(__dirname, 'myRootFolder', 'myActualPublicFolder')));
于 2016-12-19T23:57:06.337 回答