栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

在ajax成功node.js上下载文件

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

在ajax成功node.js上下载文件

基本上有两种流行的下载文件的方式。

1套

window.location

设置

window.location
为下载网址将下载文件。

window.location = '/path/to/download?arg=1';

与此版本略有不同的是,打开带有下载路径的新标签页

window.open('/path/to/download', '_self');

2.虚拟链接请点击

使用HTML5,您可以指定

download
链接的属性。单击链接(甚至以编程方式)将触发该URL的下载。链接甚至不需要成为DOM的一部分,您可以动态地使它们。

var link = document.createElement('a');link.href = '/path/to/download';link.download = 'local_filename.csv';var e = document.createEvent('MouseEvents');e.initEvent('click', true, true);link.dispatchEvent(e);

并非所有浏览器都支持此功能,因此,即使您要使用此方法,也必须放弃对某些浏览器的支持或回退到第一种方法。

幸运的是,这个出色的答案引用了一个很棒的小

js
图书馆,它已经完成了所有这些工作-
http:
//pixelscommander.com/polygon/downloadjs/#.VrGw3vkrKHv

downloadFile('/path/to/download');

两步下载

您经常会看到的另一种约定是两步下载,即以已知的URL将信息发送到服务器,然后服务器发回生成的URL或ID,可用于下载文件。

如果您希望url是可以共享的内容,或者必须将大量参数传递给下载生成器,或者只是想通过

POST
请求进行操作,则这很有用。

$.ajax({    type: 'POST',    url: '/download/path/generator',    data: {'arg': 1, 'params': 'foo'},    success: function(data, textStatus, request) {        var download_id = data['id'];        // Could also use the link-click method.        window.location = '/path/to/download?id=' + download_id;    }});


转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/386780.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号