下载文件 download
1.定义方法
JS文件(1)import axios from 'axios'
import store from '@/store'// url:文件地址 filename:想要修改为的名称
export function download (url, filename) {// if (browser.versions.iPhone || browser.versions.iPad || browser.versions.ios) {// var form = document.createElement('form')// form.action = url// document.body.appendChild(form)// form.submit()// } else {getBlob(url, function (blob) {saveAs(blob, filename)})// }
}export function getBlob (url, cb) {const instant = axios.create({withCredentials: true,timeout: 600000,headers:{'token':store.getters.token}})instant.get(url, {responseType: 'blob' // 二进制流}).then(response => {cb(response.data)})// var xhr = new XMLHttpRequest()// xhr.open('GET', url, true)// xhr.responseType = 'blob'// xhr.onload = function () {// if (xhr.status === 200) {// cb(xhr.response)// }// }// xhr.send()
}
export function saveAs (blob, filename) {if (window.navigator.msSaveOrOpenBlob) {navigator.msSaveBlob(blob, filename)} else {var link = document.createElement('a')var body = document.querySelector('body')link.href = window.URL.createObjectURL(blob)link.href = xss(link.href,{whiteList: [], // 白名单为空,表示过滤所有标签stripIgnoreTag: true, // 过滤所有非白名单标签的HTMLstripIgnoreTagBody: ["script"] // script标签较特殊,需要过滤标签中间的内容})link.download = filename// fix Firefoxlink.style.display = 'none'body.appendChild(link)link.click()body.removeChild(link)window.URL.revokeObjectURL(link.href)}
}
store.js文件import getters from './getters' //引用了getters getters.js文件const getters = {token: state => state.user.token,
}
export default getters
2.调用
.vue文件import { download } from "_u/common"; //引入定义方法路径methods里面直接调用journal(data) { //触发事件名const params = {id: data.id,};log(params).then((res) => { //后端接口调用if (res.code === 200) {// window.location.href = res.data.processLog; //本窗口打开// window.open(res.data.processLog); //新窗口打开const url = res.data.processLog;download(url, "日志.log"); //定义的下载方法调用,url:后端返回路径地址 “日志.log”:文件格式与文件名字定义} else this.$Message.error("导出失败!");});},
下载文件 download相关推荐
- js下载文件及前端使用a标签下载文件download属性失效问题
通常下载通过document.createElement创建虚拟a标签 function downloadFileUrl(val, url, fileName) {if (isVal) return ...
- h5 ios Safair下载文件自动添加.html导致文件乱码问题,ios不能使用接口播放视频的问题
需求:h5 页面 下载pdf,doc,docx,xlsx,xls 文件的功能 在安卓手机和 ios上的uc浏览器是可以正常的 下载或者预览的 但是在ios的Safair 下载时会被自动添加html尾缀 ...
- Springboot 下载文件
Springboot下载文件比较简单,以下是代码: 目录结构 FileUtil为文件工具类,里面包括下载的方法,以下为FileUtil的代码: public class FileUtil {publi ...
- uniapp下载文件
1.定义下载点击事件 <view class="button"><view class="submit" @click="downl ...
- [html] 使用a标签的download属性下载文件会有跨域问题吗?如何解决?
[html] 使用a标签的download属性下载文件会有跨域问题吗?如何解决? 最近刚遇到这个问题,后台返回的图片链接,点击按钮批量下载,a标签的 download 属性只对同源文件有效, 所以我们 ...
- download 下载文件 IE兼容性处理
根据CANIUSE(http://caniuse.com/#search=download)download兼容性如下图所示: 如上图所示,IE浏览器是不支持的. 1.测试代码: 1 <!doc ...
- 前端文件下载利用a标签的download属性下载文件
1.对于后端返回的是url下载地址 代码(可直接复制拿去用): // 点击下载文件参数href:下载地址,参数filename:文件名(如后端没有返回文件,可自定义文件名)downloadFile(h ...
- Bilibili手机端下载的Download文件批量转换为MP4软件【Bilibili_DownVideoToMp4】原创发布
Bilibili手机端下载的Download文件批量转换为MP4软件[Bilibili_DownVideoToMp4]原创发布 起因 Bilibili手机端的视频下载下来只能在手机上看,手机屏幕太小看 ...
- js实现批量下载文件(csv,xlsx等图片下载需要另外找文档补充download怎么用)
场景:点击按钮下载文件 1.下载单文件 window.open("http://xxx.xx.xx","_self"); window.open 能够打开的原理 ...
最新文章
- xmind思维导图之如何进行深度工作
- 乐鑫代理启明云端分享|ESP32驱动1.54inch(240*240)彩屏
- 什么是 SAP SUP - Sybase Unwired Platform
- ArcGIS实验教程——实验三十二:ArcGIS水文分析(流向分析、计算水流长度、汇流分析、河网分析、流域分析)
- 锁是网络数据库中的一个非常重要的概念
- 如何对待基金评审负面意见?
- mysql实例怎么复制_Mysql实例MySQL数据库复制概论
- 自定义taglib引入失败_小程序拼团总失败?看看微信官方和开发者们怎么说
- C语言除法浮点型和整形,浅谈C语言整型与浮点型转换
- linux安装java_安装和配置Linux上的Java运行环境
- 解构流存储 — Pravega,与 Flink 构建端到端的大数据流水处理线
- Arduino智能小车直线控制-模糊PID控制
- matlab5.0软件下载,MATLAB手机版
- 程序上线【起飞检查清单】-让事故和教训转变为实用的清单
- 机器学习 任务管理器中显示cpu占用很高,gpu很低,但是设置了Gpu运算
- Mysql 查询日期格式化 DATE_FORMAT()
- 第六章 服务熔断器Hystrix
- Ubuntu16.04 安装搜狗拼音和网易云音乐
- 关于iOS中图片处理的小结
- 首席新媒体运营商学院创始人黎想:裂变底层逻辑,刷屏的3个方法!
热门文章
- win10家庭版升级win10专业版输入产品密钥的后成了企业版且无法激活求解????
- RTX3080Ti和RTX2080Ti性能差距 RTX3080Ti和RTX2080Ti参数对比哪个好
- 由 hacked by 1byte 想到的,再说两句
- IPEmotion新增功能:交流电功率分析计算
- JS,VUE检测Video视频是否全屏播放
- 如何鉴别交换机的优劣好坏?您可以从这十方面去评判!
- 使用Win64OpenSSL_Light生成自签名https授权证书的几个坑
- Android课设之校园二手交易app
- java会导致电脑黑屏吗,电脑开机黑屏只显示鼠标怎么办
- QT作为设备接入阿里云平台