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

看看源碼

其實(shí)底層還是res.sendFile(),頭部也已經(jīng)設(shè)定好了.
測(cè)試
1.在public文件夾下放入1.jpg圖片和1.txt文件
2.在index.js里添加路由方法
router.get('/download', function (req, res,next) {
var q = req.query;
if (q.type == 'jpg') {
//相對(duì)路徑
res.download('public/1.jpg');
}else if (q.type == 'txt') {
//絕對(duì)路徑
res.download(`F:/testredis/public/1.txt`);
}else{
res.send('錯(cuò)誤的請(qǐng)求');
}
});
3.瀏覽器訪問(wèn):
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文件.
以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
說(shuō)說(shuō)node中的可讀流和可寫(xiě)流的區(qū)別
這篇文章主要介紹了說(shuō)說(shuō)node中的可讀流和可寫(xiě)流的區(qū)別,詳細(xì)的介紹了可讀流和可寫(xiě)流,小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2018-06-06
node.js實(shí)現(xiàn)身份認(rèn)證的示例代碼
本文主要介紹了 node.js實(shí)現(xiàn)身份認(rèn)證的示例代碼,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2022-04-04
node.js爬蟲(chóng)框架node-crawler初體驗(yàn)
這篇文章主要介紹了node.js爬蟲(chóng)框架node-crawler的相關(guān)資料,幫助大家利用node.js進(jìn)行爬蟲(chóng),感興趣的朋友可以了解下2020-10-10
Linux通過(guò)yum命令徹底刪除node.js并重新安裝
這篇文章主要介紹了Linux通過(guò)yum命令徹底刪除node.js并重新安裝,小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2021-11-11
nodejs中實(shí)現(xiàn)用戶注冊(cè)路由功能
這篇文章主要介紹了nodejs中實(shí)現(xiàn)用戶注冊(cè)路由功能的實(shí)例代碼,本文通過(guò)實(shí)例代碼給大家介紹的非常詳細(xì),具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2019-05-05
輕松創(chuàng)建nodejs服務(wù)器(10):處理POST請(qǐng)求
這篇文章主要介紹了輕松創(chuàng)建nodejs服務(wù)器(10):處理POST請(qǐng)求,本文告訴你如何實(shí)現(xiàn)在node.js中處理POST請(qǐng)求,需要的朋友可以參考下2014-12-12

