[英]How to send a file with NodeJS and express.router?
我正在嘗試從nodeJS和express.router向客戶端發送文件。 但是我得到這個錯誤:
... webserver / node_modules / express / lib / response.js:412如果(完成)返回完成(err); ^
TypeError:done不是SendStream.ondirectory上/home/alex/project/webserver/node_modules/express/lib/response.js:412:22處的函數(/ home / pthong / project / webserver / node_modules / express / lib /在sendStream.redirect(/ home / alex / project / webserver / node_modules / express /)的sendStream.emit(events.js:166:7)的emitNone(events.js:67:13)處的response.js:986:5)在FSReqWrap.oncomplete(fs.js:82)的onstat(/home/alex/project/webserver/node_modules/express/node_modules/send/index.js:622:41)處的node_modules / send / index.js:401:10) :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);
我收到下一個錯誤:
錯誤:ENOENT:無此類文件或目錄,錯誤狀態為“ /uploads/audiomessage-10207974875988003-1327917607235274-1461074839300.3gpp”(本機)
這是網絡服務器的結構:
嘗試res.sendFile(__ dirname + filepath / filename)
就您而言,這可能是:
res.sendFile(__dirname + "/uploads/" + req.params.filename);
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.