基于nodejs+express4.X實(shí)現(xiàn)文件下載的實(shí)例代碼
之前寫了一個(gè)關(guān)于基于nodejs+express4.X實(shí)現(xiàn)文件下載實(shí)例,最近需要回顧,就順便發(fā)到隨筆上了
在nodejs的express框架中,下載變得非常簡單,就一個(gè)方法,res.download()
首先express命令行生成項(xiàng)目基本框架: 不會(huì)的看這里:http://www.dhdzp.com/article/118537.htm
看看api

看看源碼

其實(shí)底層還是res.sendFile(),頭部也已經(jīng)設(shè)定好了.
測試
1.在public文件夾下放入1.jpg圖片和1.txt文件
2.在index.js里添加路由方法
router.get('/download', function (req, res,next) {
var q = req.query;
if (q.type == 'jpg') {
//相對路徑
res.download('public/1.jpg');
}else if (q.type == 'txt') {
//絕對路徑
res.download(`F:/testredis/public/1.txt`);
}else{
res.send('錯(cuò)誤的請求');
}
});
3.瀏覽器訪問:
http://localhost:3000/download?type=1
http://localhost:3000/download?type=jpg
http://localhost:3000/download?type=txt
第一個(gè)會(huì)提示錯(cuò)誤,第二個(gè)會(huì)下載圖片,第三個(gè)會(huì)下載txt文件.
以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
node.js 使用 net 模塊模擬 websocket 握手進(jìn)行數(shù)據(jù)傳遞操作示例
這篇文章主要介紹了node.js 使用 net 模塊模擬 websocket 握手進(jìn)行數(shù)據(jù)傳遞操作,結(jié)合實(shí)例形式分析了node.js基于net模塊模擬 websocket握手相關(guān)原理及進(jìn)行數(shù)據(jù)傳遞具體操作技巧,需要的朋友可以參考下2020-02-02
輕松創(chuàng)建nodejs服務(wù)器(10):處理POST請求
這篇文章主要介紹了輕松創(chuàng)建nodejs服務(wù)器(10):處理POST請求,本文告訴你如何實(shí)現(xiàn)在node.js中處理POST請求,需要的朋友可以參考下2014-12-12
如何使用axios庫在Node.js中進(jìn)行代理請求(實(shí)踐案例)
axios是一個(gè)強(qiáng)大的基于Promise的HTTP客戶端,它在瀏覽器和Node.js環(huán)境中均可使用,本文將介紹如何充分利用axios庫,在Node.js中進(jìn)行代理請求的最佳實(shí)踐,并通過一個(gè)實(shí)際案例來展示其應(yīng)用,感興趣的朋友一起看看吧2024-03-03
express express-session的使用小結(jié)
這篇文章主要介紹了express express-session的使用小結(jié),小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧2018-12-12

