js: 文件(excel)下载处理
以前很少接触文件下载的功能,昨天和后台开发人员联调下载功能出现了问题,一开始我请求接口,返回二进制文件流乱码,在网上找了方法,可以解决。后面后台开发人员改了一下,返回文件地址,然后就解决了。所以我了解的文件下载分为两种情况:
一、后台直接给的文件地址(比如:xxx.xx.xx.xx/example.xls)
这种情况的话js里直接:window.location.href="xxx.xx.xx.xx/example.xls" 即可, 或者用a标签也行。
二、后台给接口,前端请求接口,返回二进制文件流
这种情况需要处理二进制文件流,解决办法的大致思路如下:
1.在请求里设置返回类型:responseType: ‘blob‘,这里也可以设置返回类型为arraybuffer,具体情况可以参考稍后贴出的参考博客;
2.在请求的返回的中利用blob处理文件流;
由于所参考的两篇博客写得已经比较详细,所以就不贴出具体的代码了,参考博客如下:
1.vue2.x 下载后台传过来的流文件(excel)后乱码问题
2.angular2/angular4 如何通过$http的post方法请求下载二进制的Excel文件
请原谅我的懒,哈哈哈
js: 文件(excel)下载处理的更多相关文章
- js文件流下载通用方法
通常我们会用到文件流下载文件,下面给大家一个通用的文件流下载的js /* *下载文件 * options:{ * url:'', //下载地址 * isNewWinOpen:false,是否新窗口打开 ...
- 网页性能优化之异步加载js文件
一个网页的有很多地方可以进行性能优化,比较常见的一种方式就是异步加载js脚本文件.在谈异步加载之前,先来看看浏览器加载js文件的原理. 浏览器加载 JavaScript 脚本,主要通过<scri ...
- 高性能js之js文件的加载与解析
随着网站的发展,现在的网页已经离不开js,经常一个页面会引入大量的js.那么该如何合理的加载这些js? head标签中引入js文件可能是最常见的一种方式,但是这样会造成一个问题.因为j可以说是浏览器中 ...
- JS JQuery 操作: Json转 Excel 下载文件
方法的调用 var json = '[' + '{"申请流水号":"123456","保险公司":"测试数据",&quo ...
- 使用node.js生成excel报表下载(excel-export express篇)
引言:日常工作中已经有许多应用功能块使用了nodejs作为web服务器,而生成报表下载也是我们在传统应用. java中提供了2套类库实现(jxl 和POI),.NET 作为微软的亲儿子更加不用说,各种 ...
- JS弹出下载对话框以及实现常见文件类型的下载
写在前面 JS要实现下载功能,一般都是这么几个过程:生成下载的URL,动态创建一个A标签,并将其href指向生成的URL,然后触发A标签的单击事件,这样就会弹出下载对话框,从而实现了一个下载的功能. ...
- java代码将excel文件中的内容列表转换成JS文件输出
思路分析 我们想要把excel文件中的内容转为其他形式的文件输出,肯定需要分两步走: 1.把excel文件中的内容读出来: 2.将内容写到新的文件中. 举例 一张excel表中有一个表格: 我们需要将 ...
- php大力力 [029节] 做PHP项目如何下载js文件:使用腾讯浏览器把网上案例页面存储到本地
php大力力 [029节] 做PHP项目如何下载js文件:使用腾讯浏览器把网上案例页面存储到本地 yeah,搞定啦 php大力力 [029节] 做PHP项目如何下载js文件:使用腾讯浏览器把网上案例页 ...
- php大力力 [028节] 如何下载js文件,网上一个*.js无法下载啊??????
php大力力 [028节] 如何下载js文件,网上一个*.js无法下载啊?????? safari也无法下载 迅雷也无法下载 是不是对方网站服务器的不让下载那个js目录的文件??? 只能调用js函数啊 ...
- 网络加速手段之一,JS文件资源合并下载
有过ftp下载文件经验的人都有体验,单独下载一个100M的文件比分开下载100个1M的文件速度快很多,这是因为下载需要解析域名,建立连接等额外开销的时间,因此下载100个文件就要做100次这种额外的开 ...
随机推荐
- tomcat启动正常,但是访问项目时,404. Eclipse没有正确部署工程项目
解决方案URL:http://blog.csdn.net/lynn_wgr/article/details/7751228
- 怎么在多场景下使用不同的 git 账号 commit
应用场景 我有多个github的账号,不同的账号对应不同的repo,需要push的时候自动区分账号 我有多个git的账号,有的是github的,有的是单位的gitlab的,不同账号对应不同的repo, ...
- java -jar启动java项目时,引用不同配置文件命令
java -jar eureka-server.jar --spring.profiles.active=peer1
- GAN的入门级理解(按文章顺序)
1.https://www.leiphone.com/news/201706/ty7H504cn7l6EVLd.html 我的理解:一开始,G网络利用一组随机噪声生成一堆合成的垃圾照片,交给D网络判断 ...
- ava、Python和PHP三者的区别
Java.Python和PHP三者的区别 2017年07月15日 22:09:21 书生_AABB 阅读数:18994 版权声明:本文为博主原创文章,未经博主允许不得转载. https://blo ...
- Application 、Cookie和 Session 两种会话有什么不同
Application储存在服务端,没有时间限制,服务器关闭即销毁 Session存储在服务端,客户端,关闭即销毁(长时间不使用,且浏览器未关闭,默认自动销毁时间是20分钟) Cookie储存在客户端 ...
- spring boot 全局配置属性一览
# =================================================================== # COMMON SPRING BOOT PROPERTIE ...
- angular 定时函数
注入$interval,$timeout 服务 2.定义函数 var aa = $interval(function(){ $timout(function(){ ..... }) },,定时时间 ...
- JS之工厂模式
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...
- servlet中常用到的工具
1. 解析ajax传来的json字符串,得到json对象 private JSONObject getJsonObject(HttpServletRequest req) { StringBuffer ...