簡體   English   中英

如何使用NodeJS和express.router發送文件?

[英]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”(本機)

這是網絡服務器的結構:

  • 網絡服務器
  • --- server.js
  • -上傳
  • -----音頻461074839300.3gpp
  • -----音頻234.3gpp

嘗試res.sendFile(__ dirname + filepath / filename)

就您而言,這可能是:

res.sendFile(__dirname + "/uploads/" + req.params.filename);

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM