nodeJSとexpress.routerからクライアントにファイルを送信しようとしています。しかし、私はこのエラーを取得:NodeJSとexpress.routerでファイルを送信する方法は?
...webserver/node_modules/express/lib/response.js:412 if (done) return done(err); ^
TypeError: done is not a function at /home/alex/project/webserver/node_modules/express/lib/response.js:412:22 at SendStream.ondirectory (/home/pthong/project/webserver/node_modules/express/lib/response.js:986:5) at emitNone (events.js:67:13) at SendStream.emit (events.js:166:7) at SendStream.redirect (/home/alex/project/webserver/node_modules/express/node_modules/send/index.js:401:10) at onstat (/home/alex/project/webserver/node_modules/express/node_modules/send/index.js:622:41) at FSReqWrap.oncomplete (fs.js:82:15)
をそして、これは私のコードです:
router.get('/getFile/:filename', function(req,res){
res.sendFile(__dirname, '../uploads', req.params.filename);
});
とHTTPリクエストがある: - :
http://dummy.com/getFile/audio-461074839300.3gpp、私はこれをしようとした場合
res.sendFile('/uploads/'+ req.params.filename);
次のエラーが表示されます。
Error: ENOENT: no such file or directory, stat '/uploads/audiomessage-10207974875988003-1327917607235274-1461074839300.3gpp' at Error (native)
これはウェブサーバの構造である: ウェブ
- Webサーバ
- ---
- をserver.js ---アップロード
- -----オーディオ461074839300.3 gpp
- ----- audio-234.3gpp
'sendFile'のマニュアルを読んでください。あなたのパラメータは間違っています。 – SLaks