2

ブラウザで表示できるようにするいくつかの画像を含むディレクトリがあります。

このディレクトリは私のサーバーの/public/imagesにあります

/ publicの中には、公開したくない他のディレクトリもあります。したがって、/publicディレクトリ全体を表示可能にすることは解決策ではありません。

接続ディレクトリミドルウェアを使用して、/ public / imagesだけを閲覧可能にするにはどうすればよいですか?

ここで説明するソリューションを使用すると、/ publicのすべてが表示可能になり、次のことを試してみても機能しません。

    app.use(exp.static(__dirname + '/public'));
    app.use(exp.static(__dirname + '/public/images'));
    app.use(exp.directory(__dirname + '/public/images'));

ありがとう

4

2 に答える 2

9

ルートを次のような特別なパスにマウントする必要があります

app.use('/', exp.static(__dirname + '/public'));
app.use('/images', exp.static(__dirname + '/public/images'));
app.use('/images',exp.directory(__dirname + '/public/images'));

このようにして、URL/を使用して/publicのコンテンツにアクセスし、URL/imagesを使用して/public/imageのコンテンツにアクセスできます。

于 2012-07-17T09:54:27.513 に答える
0

Express 4:

npm install serve-index

-

var serveIndex = require('serve-index');

app.use('/images', express.static(__dirname + '/public/images'), serveIndex(__dirname + '/public/images'));
于 2018-03-16T17:53:56.807 に答える