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相关推荐

  1. js下载文件及前端使用a标签下载文件download属性失效问题

    通常下载通过document.createElement创建虚拟a标签 function downloadFileUrl(val, url, fileName) {if (isVal) return ...

  2. h5 ios Safair下载文件自动添加.html导致文件乱码问题,ios不能使用接口播放视频的问题

    需求:h5 页面 下载pdf,doc,docx,xlsx,xls 文件的功能 在安卓手机和 ios上的uc浏览器是可以正常的 下载或者预览的 但是在ios的Safair 下载时会被自动添加html尾缀 ...

  3. Springboot 下载文件

    Springboot下载文件比较简单,以下是代码: 目录结构 FileUtil为文件工具类,里面包括下载的方法,以下为FileUtil的代码: public class FileUtil {publi ...

  4. uniapp下载文件

    1.定义下载点击事件 <view class="button"><view class="submit" @click="downl ...

  5. [html] 使用a标签的download属性下载文件会有跨域问题吗?如何解决?

    [html] 使用a标签的download属性下载文件会有跨域问题吗?如何解决? 最近刚遇到这个问题,后台返回的图片链接,点击按钮批量下载,a标签的 download 属性只对同源文件有效, 所以我们 ...

  6. download 下载文件 IE兼容性处理

    根据CANIUSE(http://caniuse.com/#search=download)download兼容性如下图所示: 如上图所示,IE浏览器是不支持的. 1.测试代码: 1 <!doc ...

  7. 前端文件下载利用a标签的download属性下载文件

    1.对于后端返回的是url下载地址 代码(可直接复制拿去用): // 点击下载文件参数href:下载地址,参数filename:文件名(如后端没有返回文件,可自定义文件名)downloadFile(h ...

  8. Bilibili手机端下载的Download文件批量转换为MP4软件【Bilibili_DownVideoToMp4】原创发布

    Bilibili手机端下载的Download文件批量转换为MP4软件[Bilibili_DownVideoToMp4]原创发布 起因 Bilibili手机端的视频下载下来只能在手机上看,手机屏幕太小看 ...

  9. js实现批量下载文件(csv,xlsx等图片下载需要另外找文档补充download怎么用)

    场景:点击按钮下载文件 1.下载单文件 window.open("http://xxx.xx.xx","_self"); window.open 能够打开的原理 ...

最新文章

  1. xmind思维导图之如何进行深度工作
  2. 乐鑫代理启明云端分享|ESP32驱动1.54inch(240*240)彩屏
  3. 什么是 SAP SUP - Sybase Unwired Platform
  4. ArcGIS实验教程——实验三十二:ArcGIS水文分析(流向分析、计算水流长度、汇流分析、河网分析、流域分析)
  5. 锁是网络数据库中的一个非常重要的概念
  6. 如何对待基金评审负面意见?
  7. mysql实例怎么复制_Mysql实例MySQL数据库复制概论
  8. 自定义taglib引入失败_小程序拼团总失败?看看微信官方和开发者们怎么说
  9. C语言除法浮点型和整形,浅谈C语言整型与浮点型转换
  10. linux安装java_安装和配置Linux上的Java运行环境
  11. 解构流存储 — Pravega,与 Flink 构建端到端的大数据流水处理线
  12. Arduino智能小车直线控制-模糊PID控制
  13. matlab5.0软件下载,MATLAB手机版
  14. 程序上线【起飞检查清单】-让事故和教训转变为实用的清单
  15. 机器学习 任务管理器中显示cpu占用很高,gpu很低,但是设置了Gpu运算
  16. Mysql 查询日期格式化 DATE_FORMAT()
  17. 第六章 服务熔断器Hystrix
  18. Ubuntu16.04 安装搜狗拼音和网易云音乐
  19. 关于iOS中图片处理的小结
  20. 首席新媒体运营商学院创始人黎想:裂变底层逻辑,刷屏的3个方法!

热门文章

  1. win10家庭版升级win10专业版输入产品密钥的后成了企业版且无法激活求解????
  2. RTX3080Ti和RTX2080Ti性能差距 RTX3080Ti和RTX2080Ti参数对比哪个好
  3. 由 hacked by 1byte 想到的,再说两句
  4. IPEmotion新增功能:交流电功率分析计算
  5. JS,VUE检测Video视频是否全屏播放
  6. 如何鉴别交换机的优劣好坏?您可以从这十方面去评判!
  7. 使用Win64OpenSSL_Light生成自签名https授权证书的几个坑
  8. Android课设之校园二手交易app
  9. java会导致电脑黑屏吗,电脑开机黑屏只显示鼠标怎么办
  10. QT作为设备接入阿里云平台