首页 > 代码库 > node+express+static完成简单的文件下载
node+express+static完成简单的文件下载
不多说什么,直接上代码
var express = require(‘express‘);var fs = require(‘fs‘)var path= require(‘path‘);var cors = require(‘cors‘);var app = express();app.use(cors()); var options = { dotfiles: ‘ignore‘, etag: false, extensions: [‘htm‘, ‘html‘], index: false, maxAge: ‘1d‘, redirect: false, setHeaders: function (res, path, stat) { res.set(‘x-timestamp‘, Date.now()) }}app.use(express.static(‘public‘, options));app.get(‘/download‘,function(req, res, next){ var currDir = path.normalize(req.query.dir), fileName = req.query.name, currFile = path.join(currDir,fileName), fReadStream; console.log(currDir ); console.log(fileName ); fs.exists(currFile,function(exist) { if(exist){ res.set({ "Content-type":"application/octet-stream", "Content-Disposition":"attachment;filename="+encodeURI(fileName) }); fReadStream = fs.createReadStream(currFile); fReadStream.on("data",function(chunk){res.write(chunk,"binary")}); fReadStream.on("end",function () { res.end(); }); }else{ res.set("Content-type","text/html"); res.send("file not exist!"); res.end(); } });});app.listen(8088, function(){ console.log(‘localhsot:8080‘)});
使用方法:localhost:8080/download?dir=‘filedir‘&name=‘filename‘,把这个直接放到a标签的href属性内就可以使用。
dir:文件路径
name:文件名称(带后缀)
node+express+static完成简单的文件下载
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。