ajax下载文件

标签: js
2人阅读 评论(0) 收藏 举报

通过看了些相关知识

写了如下方法,该方法不支持低版本IE 使用需要注意。。。

	function downloadFile(fileUrl,filename) {
		// 路径
		   var url = "reportFile/downLoadFile.do?url=" + fileUrl;
		   var xhr = new XMLHttpRequest();
		   xhr.open('post', url, true);        // 也可以使用POST方式,根据接口
		   xhr.responseType = "blob";    // 返回类型blob
		   // 定义请求完成的处理函数,请求前也可以增加加载框/禁用下载按钮逻辑
		   xhr.onload = function (data) {
		       // 请求完成 15为后台错误返回值长度
		       if (this.status === 200 && data.loaded!=15) {
		           // 返回200
		           var blob = this.response;
		           var reader = new FileReader();
		           reader.readAsDataURL(blob);    // 转换为base64,可以直接放入a表情href
		           reader.onload = function (e) {
		               // 转换完成,创建一个a标签用于下载
		               var a = document.createElement('a');
		               a.download = filename;
		               a.href = e.target.result;
		               $("body").append(a);    // 修复firefox中无法触发click
		               a.click();
		               $(a).remove();
		           }
		       }else{
		    	   alert("文件下载失败!!")
		       }
		   };
		   // 发送ajax请求
		   xhr.send()
		}
	

查看评论

Ajax请求下载文件

以前我这样做,现在感觉很low:window.location.href = "http://127.0.0.1:8080/wx-sr-api/xxx/export";现在可以这样做,直接上代码,我这...
  • Ronux
  • Ronux
  • 2016-09-20 19:18:27
  • 2173

Ajax下载文件(页面无刷新)

说明:Ajax是无法实现文件传输的,本文只是模拟了Ajax不刷新页面就可以请求并返回数据的效果。实质上还是通过提交form表单来返回文件流的输出。 分步实现逻辑: ajax请求服务器,访问...
  • CarryBest
  • CarryBest
  • 2017-04-27 09:20:17
  • 3104

AJAX实现文件下载的三种方式

方式一:使用hidden的iframe提交。
  • xcwll314
  • xcwll314
  • 2014-04-22 09:03:09
  • 4206

总结套路:Ajax请求下载文件的问题

总结套路:Ajax请求下载文件的问题
  • ShangQuan2012
  • ShangQuan2012
  • 2017-03-19 21:13:34
  • 8461

不能用ajax请求下载文件

不能用ajax请求下载文件原因及下载方法
  • lzx_2011
  • lzx_2011
  • 2016-02-18 17:15:53
  • 7965

jquery ajax下载 文件 思路

1.   因为  ajax   反回的数据是xml、text、json、html  等类型  而没有  io (流)   所以不能直接下载 思路 是:    跳转  到一个action 1...
  • yt1037921169
  • yt1037921169
  • 2016-11-08 18:22:02
  • 9418

jquery ajax 不能用于下载文件

@SotiriosDelimanolis was right. File download is not possible using ajax request. Simply use ‘window...
  • cyuanxin
  • cyuanxin
  • 2016-06-04 09:55:56
  • 624

spring mvc文件下载 及 ajax异步上传图片

最近在工作中需要用到ajax异步上传图片功能, 然而ajax原生不支持, 所以我在网上也查阅了很多资料, 最后成功实现 网上类似的文章肯定很多, 在这之前我也参考了参考了好多资料 ,最终才完成这个功能...
  • qq_34730094
  • qq_34730094
  • 2017-01-13 17:32:30
  • 792

ajax请求不能下载文件

最近在做文件下载,后台写了个控制层,直接走进去应该就可以下载文件,各种文件图片,excel等 但是起初老是下载失败,并且弹出下面的乱码: 前台请求代码: $('#fileexcel')....
  • fan510988896
  • fan510988896
  • 2017-05-10 13:49:24
  • 8323
    个人资料
    持之以恒
    等级:
    访问量: 1万+
    积分: 520
    排名: 9万+
    文章分类