這篇文章主要為大家詳細介紹了nodejs multer實作檔案上傳與下載的相關資料,具有一定的參考價值,有興趣的夥伴們可以參考一下
本文實例為大家分享了nodejs實作檔案上傳下載的具體程式碼,供大家參考,具體內容如下
##1.介紹
2 . upload 文件上傳
3.download 檔案下載
//index.js var fs = require('fs') var express = require('express') var multer = require('multer') const path = require('path'); var app = express(); var upload = multer({dest:'upload/'}); //多文件上传 (限定上传文件个数)(没有修改后缀) app.post('/upload-multi',upload.array('myfile',2),function(req,res,next){ res.send("2 done"); }) //单文件上传获取信息 app.post('/upload-single',upload.single('myfile'),function(req,res,next){ var file=req.file; // console.log("名称:%s",file.originalname); // console.log("mime:%s",file.mimetype); //以下代码得到文件后缀 name=file.originalname; nameArray=name.split(''); var nameMime=[]; l=nameArray.pop(); nameMime.unshift(l); while(nameArray.length!=0&&l!='.'){ l=nameArray.pop(); nameMime.unshift(l); } //Mime是文件的后缀 Mime=nameMime.join(''); console.log(Mime); res.send("done"); //重命名文件 加上文件后缀 fs.renameSync('./upload/'+file.filename,'./upload/'+file.filename+Mime); }) //文件下载尝试(chrome会直接在页面上展示。.最后也没有解决) //设置download文件夹为静态 才能下载 app.use('/download', express.static(path.join(dirname, 'download'))); // app.get('/download',function(req,res){ // var path='./download/aa.mp3'; // res.download(path,'aa.mp3'); // }); app.get('/download', function(req, res){ var file = dirname + '/download/aa.mp3'; res.download(file); }); app.get('/',function(req,res,next){ res.sendFile(dirname+"/index.html"); }) app.listen(3000);客戶端
//index.html <!DOCTYPE html> <html> <head> <title>上传文件</title> <meta charset="utf-8"> </head> <body> <form enctype="multipart/form-data" action="/upload-single" method="post"> <input type="file" name="myfile"></input> <input type="submit" value="提交"></input> </form> <form enctype="multipart/form-data" action="/upload-multi" method="post"> <input type="file" name="myfile"></input> <input type="file" name="myfile"></input> <input type="submit" value="提交"></input> </form> <a href="download/aa.mp3" rel="external nofollow" >下载文件</a> </body> </html>【相關推薦】1. #2. 3.
以上是分享用nodejs multer實作檔案上傳與下載實例教程的詳細內容。更多資訊請關注PHP中文網其他相關文章!