以前我这样做,现在感觉很low:

window.location.href = "http://127.0.0.1:8080/wx-sr-api/xxx/export";

现在可以这样做,直接上代码,我这里贴的是AngularJS的HTTP请求函数,ajax也是类似的:

$http({url: "http://127.0.0.1:8080/wx-sr-api/xxx/export",method: 'GET',params: reqData,responseType: 'arraybuffer'
}).success(function (data, status, headers) {<!--var type = 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet';if (!type)throw '无效类型';-->//对象 URL 也被称为 blob URL,指的是引用保存在 File 或 Blob 中数据的 URL。使用对象 URL 的//好处是可以不必把文件内容读取到 JavaScript 中而直接使用文件内容。为此,只要在需要文件内容的地//方提供对象 URL 即可。var urlCreator = window.URL || window.webkitURL;var blob = new Blob([data], { type: type }, decodeURI(headers()["x-filename"]));var url = urlCreator.createObjectURL(blob); //这个函数的返回值是一个字符串,指向一块内存的地址。//以下代码保存我的excel导出文件var link = document.createElement('a'); //创建事件对象link.setAttribute('href', url);link.setAttribute("download", filename);var event = document.createEvent("MouseEvents"); //初始化事件对象event.initMouseEvent("click", true, true, document.defaultView, 0, 0, 0, 0, 0, false, false, false, false, 0, null); //触发事件link.dispatchEvent(event);}).error(function (data, status) {});//以下代码可以在页面中显示一个图像文件:
var filesList = document.getElementById("files-list");
EventUtil.addHandler(filesList, "change", function(event){var info = "",output = document.getElementById("output"),progress = document.getElementById("progress"),files = EventUtil.getTarget(event).files,reader = new FileReader(),url = createObjectURL(files[0]);if (url){if (/image/.test(files[0].type)){output.innerHTML = "<img src=\"" + url + "\">";} else {output.innerHTML = "Not an image.";}} else {output.innerHTML = "Your browser doesn't support object URLs.";}
});

Ajax请求下载文件相关推荐

  1. ajax请求文件下载 php,使用Ajax请求下载文件

    要使浏览器下载一个文件,您需要这样做:function downloadFile(urlToSend) { var req = new XMLHttpRequest(); req.open(" ...

  2. jquery ajax post请求下载文件

    第一次用ajax post请求下载文件 ,之前一直用vue的写,今天用同样方式发现是乱码,走了不少弯路,特此记录下方法 var outData = getData() //传参数据var url = ...

  3. ajax请求 下载zip压缩包

    ajax请求 下载zip压缩包 一.后台代码 二.前端代码 问题 后台最主要是 response.setContentType("application/octet-stream" ...

  4. php post请求 下载文件,POST请求 下载文件

    通过axios发送POST请求 下载文件. 这时候的 Content-Type: application/json;charset=UTF-8 先贴axios({ method: 'post', ur ...

  5. post请求下载文件(兼容IE)

    post请求下载文件(兼容IE) 有时候由于下载文件的url携带的参数过多,导致整个url长度超过get请求的上限,这个时候需要更换为post请求,具体实现如下 function downLoadFi ...

  6. 【post请求下载文件流】如何使用post请求下载文件流 blob

    最近有个需求,做文件的下载.其实下载没什么要特别说的,之前都是用的get请求,这次不同,后台用的post请求,返回的是数据流,这种post请求下载文件的方式倒是没怎么弄过.记录一下. 接口 接口地址为 ...

  7. Ajax请求导出Excel的问题【ajax不能下载文件】

    最近要给后台添加操作日志导出的功能,后台已经生成.xls文件,本来想只要ajax请求下就完事儿,想象总是美好的,可不管我怎么ajax,想了各种可能原因也无法解决. 问题描述 前端发送ajax[get/ ...

  8. 关于Ajax无法下载文件到浏览器本地的问题(文件下载的几种方式)

    最近在做网站的时候遇到这样一个功能,在如图所示的页面中,需要用户点击链接的时候,能够以异步Ajax的方式判断服务器中是否存储有相应的Excel文件,如果没有的话就提示用户没有找到,如果有的话就下载到用 ...

  9. ajax实现下载文件进度条及方法详解

    javascript使用ajax下载文件进度条实现 <!DOCTYPE html> <html xmlns="http://www.w3.org/1999/xhtml&qu ...

  10. ajax方式下载文件

    <button type="button" οnclick="download()">导出</button>function downl ...

最新文章

  1. 在网易,我是怎样做项目管理的?
  2. 分治法求一个N个元素数组的逆序数
  3. 编程心法 之什么是MVP What is MVP development?
  4. 【推荐】JS面象对象编程视频教程
  5. java中删除字符串的头尾空白符。
  6. .net随笔-vb.net Accord.Net机器学习之贝叶斯分类
  7. 计算智能-群智能算法-蚁群算法matlab实现
  8. No resource found that matches the given name 'android:Widget.Material.A解决方案
  9. android ipc 多个客户端,Android IPC之AIDL进阶篇
  10. linux的基础知识——守护进程
  11. 第73课 丑数 函数的应用
  12. P1546 最短网络 Agri-Net
  13. android studio jni so,Android studio JNI 制做SO文件,在其余项目中调用
  14. SpringMVC框架搭建的步骤
  15. leetcode 153. 寻找旋转排序数组中的最小值(Find Minimum in Rotated Sorted Array)
  16. C语言:简单实现图书管理系统
  17. VBA下载文件 使用WebBrowser 及 DoFileDownload
  18. oracle创建交叉表,SQL交叉表常用实例(转载网络)
  19. 关于Random(47)与randon.nextInt(100)的区别
  20. 旧貌换新颜 | 凯云科技整装待发,迎风飞扬

热门文章

  1. 4093:倒排索引查询--bitmap并查集
  2. 删除计算机用户时拒绝访问权限,c盘为什么拒绝访问 删除c盘文件需要管理员权限怎么办...
  3. 远程重装Win10系统 系统之家装机大师重装教程
  4. Excel IF+COUNTIF、IFERROR+VLOOKUP使用组合公式
  5. WiFi 5G频段差分巴伦电路对接收灵敏度的影响
  6. Kali Linux上最佳安全测试工具
  7. 发卡源码php,PHP发卡源码|荔枝发卡系统2.0
  8. esp分区引导修复失败_ESP分区丢失,新建ESP分区修复引导教程
  9. 各种时间指标的Power BI度量值,一次全分享给你
  10. C++取地址符用在函数的形参的优势