2016-12-27 6 views
1

1年間の実稼働中のアプリがあります。インポートし、後で圧縮データファイルを提供する機能を備えています。今日私は、ファイル名がドットで始まる異なるデータでアプリケーションをテストしました。アプリは正常にファイルを受け入れ、圧縮して保存しましたが、フロントエンドが同じファイルをリクエストしたときにアプリのバックエンドが取得されました404.サービスがドットで始まると404が表示されます

ファイルが実際に要求されたURLに存在することを確認しました。先頭のドットを下のダッシュに置き換えると、それは機能します。ここで

は私のアプリのコードは次のとおりです。

const app = require('express')(); 
const serveStatic = require('serve-static'); 
const path = require('path'); 

app.use(serveStatic(path.join(__dirname, 'public/data'))); 

私は次のエラーを受信して​​います:

enter image description here

ファイルには、先に提供されています:

enter image description here

先導的なドット作業。先頭にドットが付いているファイルはすべて404.

問題を解決するのを手伝ってください。

答えて

2

あなたは(デフォルトでは'ignore'に設定されています)'allow'に設定dotfilesオプションでserve-staticで隠しファイル(ドットで始まるもの)を果たすことができます。

app.use(serveStatic(path.join(__dirname, 'public/data'), { 
    dotfiles: 'allow' 
})); 

参照:

app.use(express.static(path.join(__dirname, 'public/data'), { 
    dotfiles: 'allow' 
})); 

参照してください:https://expressjs.com/en/api.html

+0

をそれは完璧に動作https://ewiggin.gitbooks.io/expressjs-middleware/content/serve-static.html

それは、express.staticミドルウェアと同じです。ありがとうございました! –

関連する問題