nodejs 点击按钮下载_从服务器下载文件使用NodeJS表达
KARTHIKEYAN.AThiago Miranda de Oliveira提出了一个问题:Download a file from NodeJS Server using Express,或许与您遇到的问题类似。
Update
Express has a helper for this to make life easier.
app.get('/download', function(req, res){
var file = __dirname + '/upload-folder/dramaticpenguin.MOV';
res.download(file); // Set disposition and send it.
});
Old Answer
As far as your browser is concerned, the file's name is just 'download', so you need to give it more info by using another HTTP header.
res.setHeader('Content-disposition', 'attachment; filename=dramaticpenguin.MOV');
You may also want to send a mime-type such as this:
res.setHeader('Content-type', 'video/quicktime');
If you want something more in-depth, here ya go.
var path = require('path');
var mime = require('mime');
var fs = require('fs');
app.get('/download', function(req, res){
var file = __dirname + '/upload-folder/dramaticpenguin.MOV';
var filename = path.basename(file);
var mimetype = mime.lookup(file);
res.setHeader('Content-disposition', 'attachment; filename=' + filename);
res.setHeader('Content-type', mimetype);
var filestream = fs.createReadStream(file);
filestream.pipe(res);
});
You can set the header value to whatever you like. In this case, I am using a mime-type library - node-mime, to check what the mime-type of the file is.
Another important thing to note here is that I have changed your code to use a readStream. This is a much better way to do things because using any method with 'Sync' in the name is frowned upon because node is meant to be asynchronous.
希望本文对你有帮助,欢迎支持JavaScript中文网
nodejs 点击按钮下载_从服务器下载文件使用NodeJS表达相关推荐
- 原创力文档怎么免费下载_哪里可以下载免费的PDF文档转换器?
在我们使用电脑的过程中,经常会使用到各种类型的文档,其中PDF文档也非常受欢迎,尤其对PDF文档转换器工具的需求非常广,由此PDF文档转换器也成为了众多技术人员研究的对象,以满足众多使用者的需求. 本 ...
- 库乐队历史版本怎么下载_库乐队下载_库乐队安卓版下载_库乐队下载安装-太平洋下载中心...
库乐队app--你的掌上录音棚.通过库乐队下载你可在线制作DJ创作音乐,把手机当作乐器演奏,以及随处创作乐曲.分享乐曲等.库乐队安卓版能让你的手机变成一套触控乐器和功能完备的录音工作室,这样无论身处何 ...
- tcga数据下载_零代码下载TCGA数据库第一期
TCGA数据库目前是科研中最常用的数据库之一,其中储存着多种疾病的各组学的数据,借助该数据库,帮助了很多研究生们发表了自己的文章,达到了毕业条件.但是,如果你是刚入门的新手,不用担心,跟着我们的系列推 ...
- 漫画算法python版下载_用 Python 下载漫画
ReLIFE 1. 开篇 前一阵子看了 Relife 这部七月番动画,短短 13 集很快就看完,深深无法自拔,然后去查了下,发现原来是改编自漫画的,于是立马去找漫画的资源,但是搜来搜去都没有找到资源下 ...
- 看漫画学python下载_用 Python 下载漫画
ReLIFE 1. 开篇 前一阵子看了 Relife 这部七月番动画,短短 13 集很快就看完,深深无法自拔,然后去查了下,发现原来是改编自漫画的,于是立马去找漫画的资源,但是搜来搜去都没有找到资源下 ...
- tcga数据下载_从GDC下载最新的TCGA临床数据
本文从GDC直接获取TCGA数据,不同于cbioportal.Xeon等TCGA下载工具,GDC数据是实时更新的最原始的数据. 下载数据 GDC的综合数据下载页面为https://portal.gdc ...
- 为什么火狐浏览器中点击按钮失效_各种浏览器审查、监听http头工具介绍
一.谷歌内置的审查工具(v17.0). 右键点击审查(Ctrl+Shirt+Alt) 浏览器下方会出现审查框,刷新网页 就会出现下图所示,先后点击"netword"-->在下 ...
- vue.js点击按钮导出_怎样安装vuejs devtools助力vuejs高效开发
vuejs devtools可以方便且高效的帮助前端开发者调试vuejs代码,vuejs devtool支持chrome和firefox,但是在境内用chrome安装浏览器插件不方便,所以本文介绍在f ...
- vue点击按钮上传图片_关于javascript:Vue-点击按钮提交表单
我有一个组件,用户可以在其中上传图像,我还想添加一个删除图像的功能. 我添加了一个按钮,该按钮可删除当前图像,但是它的问题在于表单也正在提交,因此我想避免这种情况. 我只需要删除当前图像(如果存在). ...
- winscp如何连接安卓手机_WinSCP安卓版下载_WinSCP网站FTP管理软件手机版下载_软件侠下载站...
WinSCP安卓版是一款基于SSH的SCP文件传输软件,只要文件主机支持SSH协定,你就可以安心的下载.上传文件.它的主要功能就是在本地与远程计算机间安全的复制文件.便于用户在安卓手机上管理网站. 使 ...
最新文章
- python语言程序设计——深入学习python
- locate mysql-server_Mysql问题
- k8s部署tomcat及web应用_部署 Spring Boot 应用到 K8S 教程
- python运算符重载
- 【TypeScript】TypeScript 学习 4——模块
- Java EE 各个版本简介
- 使用 ESLint 禁止项目导入特定模块
- VS2015/VS2017必须在WINDOWS10上安装
- The endpoint reference (EPR) for the Operation not found 可能问题以及解决办法
- 参考文献标引方式_论文参考文献标注格式
- 两台电脑如何直接用一根网线传数据?
- 低成本快速开发 LoRa 终端:从 0 到 1
- 程序员励志视频_5个最适合程序员的励志视频
- 315晚会给我们的几点启示
- revit综合免费软件丨多图元下自由控制当前视图的填充
- 斯人已去,因荣永存(下)
- CS、BS架构定义(笔记)
- =,==和===的区别
- Java毕设项目员工绩效考核系统分析与设计(java+VUE+Mybatis+Maven+Mysql)
- Communication Setup Utility与GX Work2 仿真连接
热门文章
- 网页进行针式打印_针式打印机的页面打印设置小技巧解析
- 针式打印机保养方法汇总
- java 斑马_java调用斑马GK888t打印机(ZPL指令)
- DS1302时钟芯片的使用
- C语言学习笔记(12)——函数基础
- 中国.NET:各地微软技术俱乐部汇总(更新中...)
- WordPress主题可视化建站The7 V8.7
- 局域网自定义域名H5站点移动设备测试时的代理设置
- pencil平替笔哪个好用?好用的pencil平替笔推荐
- 基于等分线性回归方法的城乡收入差距因素比较分析——以广东省为例