当前位置: 首页 > wzjs >正文

深圳响应式网站公司新站整站优化

深圳响应式网站公司,新站整站优化,电子商务网站设计原理真题答案,没有域名做网站vue下载文件 (blob文件流) 及 下载失败报错信息处理 重点封装代码 // 引入axios import axios from axios // 引入token的获取方法 import { getToken } from /utils/auth // 引入消息提示组件 import { Message } from element-ui// 导出文件--文件流格式 export function e…

vue下载文件 (blob文件流) 及 下载失败报错信息处理

重点封装代码

// 引入axios
import axios from 'axios'
// 引入token的获取方法
import { getToken } from '@/utils/auth'
// 引入消息提示组件
import { Message } from 'element-ui'// 导出文件--文件流格式
export function exportFlie(url, params) {axios.post(process.env.VUE_APP_BASE_API + `${url}`, params, { responseType: 'blob', headers: { 'X-Token': getToken() }}).then((res) => {//返回文件流,下载保存到本地const blob = new Blob([res.data], {type: 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet;charset=utf-8'})const downloadElement = document.createElement('a')const href = window.URL.createObjectURL(blob)// 获取headers中返回的文件名const contentDisposition = res.headers['content-disposition'] // 从response的headers中获取filename, 后端response.setHeader("Content-disposition", "attachment; filename=xxxx.docx") 设置的文件名;const patt = new RegExp('filename="([^;]+\\.[^\\.;]+);*"')const result = patt.exec(contentDisposition)const filename = decodeURI(result[1])downloadElement.style.display = 'none'downloadElement.href = hrefdownloadElement.download = filename // 下载后文件名document.body.appendChild(downloadElement)downloadElement.click() // 点击下载document.body.removeChild(downloadElement) // 下载完成移除元素window.URL.revokeObjectURL(href) // 释放掉blob对象}).catch(err => {// 接口报错,返回保存信息,因为设置responseType: 'blob',返回数据转为blob格式,所以使用FileReader()方法读取文件流,将错误信息转为json格式const reader = new FileReader()reader.readAsText(err.response.data, 'utf-8')reader.onload = (e) => {try {// 将读取到的文本解析为JSON对象const jsonData = JSON.parse(e.target.result)// 在这里使用解析后的JSON数据Message.error(jsonData.msg)} catch (error) {// 处理解析JSON时可能出现的错误console.error('Error parsing JSON:', error)Message.error('文件导出失败')}}})
}

封装公共方法

  1. utils文件下的index.js文件中创建工具类
export function exportFlie(){}

组件中使用

import { exportFlie } from '@/utils/index'exportFlie(url, params)
http://www.dtcms.com/wzjs/53952.html

相关文章:

  • 在什么网站上可以做免费广告51外链代发网
  • 简述商务网站建设步骤二级域名注册
  • 佛山做网站哪家好网页广告调词平台多少钱
  • 高端网站制作网站建设网络舆情监测系统
  • 高德地图为什么没有国外的地图权威seo技术
  • 做英文网站公司查询百度关键词排名
  • 哪里学软装设计最好seo网络推广经理招聘
  • 讯响模板网站网站优化公司哪家好
  • 网站开发小程序百度竞价排名背后的伦理问题
  • 2017做淘宝客网站还有吗semen是什么意思
  • 新疆昌吉市建设委员会网站优化师培训机构
  • 网站3d展示怎么做域名注册免费
  • 大连个人网站建设怎么做网页
  • wordpress修改底部文字百度seo视频教程
  • 泰州网站建设方案seo必备软件
  • 山东建设执业师专业官方网站链爱交易平台
  • 北京中高端网站建设深圳网络营销推广培训
  • 深圳网站开发专业企业营销咨询
  • 深圳做微信网站多少钱百度广告搜索引擎
  • 淘宝网站建设需求分析影响seo排名的因素
  • 日语网站建设多少钱百度快速排名化
  • 特卖网站怎么做网络营销方案总结
  • 湛江市seo网站设计报价如何增加网站权重
  • 衡水网站制作多少钱软文怎么做
  • 深圳住房建设局网站首页百度指数的使用方法
  • 模版网站如何优化上海优化外包公司排名
  • 做网站要学哪些推广普通话的意义
  • 软件开发能力郑州百度快照优化
  • 哪个网站可以做顺风车广州seo优化费用
  • 企业电子商务网站建设设计目的英文谷歌优化