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

后端返回可下载的xlsx文件,但是前端接收下载后为乱码

我的接收数据进行处理的代码为:

 download_signal_list() {return new Promise((resolve, reject) => {get_download_signal({project_id: this.projectId,version_id: this.versionId}).then(response => {const url = window.URL.createObjectURL(new Blob([response.data]))const link = document.createElement('a')link.href = urlconst timestamp = this.gettimestamp(new Date().getTime() / 1000)const filename = timestamp + '-信号对接表.xlsx'link.setAttribute('download', filename)document.body.appendChild(link)link.click()}).catch(error => {reject(error)})})},

确实可以下载下来,但是打开后为乱码。
解决办法:
后端传的是blob类型文件,所以前端接收时也要限制一下类型,
接收的请求代码配置为:

export function get_download_signal(data) {return request({url: baseURL + 'mf_project/signal_docking/download_signals',method: 'get',params: data,responseType: 'blob'		// 一定一定要加上})
}

之后再下载就可以正确显示啦

http://www.lryc.cn/news/131333.html

相关文章:

  • 提升资源管理效率必备工具推荐
  • HJ23 删除字符串中出现次数最少的字符
  • 文心一言 VS 讯飞星火 VS chatgpt (76)-- 算法导论7.3 1题
  • Leetcode - 滑动窗口
  • 如何保证数据传输的安全?
  • 政务、商务数据资源有效共享:让数据上“链”,记录每一个存储过程!
  • xml转map工具类
  • C++并发多线程--std::future_status、std::shared_future和std::atomic的使用
  • Redis在Java中的基本使用
  • 4.2 C++ Boost 内存池管理库
  • Django模型基础
  • 导读-Linux简介
  • 判断平面中两射线是否相交的高效方法
  • 基于VUE3+Layui从头搭建通用后台管理系统(前端篇)八:自定义组件封装上
  • RabbitMq交换机类型介绍
  • 中国电信秋招攻略,考试内容分析
  • prompt-engineering-note(面向开发者的ChatGPT提问工程学习笔记)
  • 2011-2021年数字普惠金融指数Bartik工具变量法(含原始数据和Bartik工具变量法代码)
  • [ MySQL ] — 常见函数的使用
  • Spring AOP实现切入增强的两种方式(execution+annotation)-Demo
  • 人工智能在网络安全中的作用:当前的局限性和未来的可能性
  • BC99 序列中整数去重
  • [PyTorch][chapter 52][迁移学习]
  • Ceph如何操作底层对象数据
  • sklearn机器学习库(二)sklearn中的随机森林
  • FlutterBoost 实现Flutter页面内嵌iOS view
  • 走嵌入式还是纯软件?学长告诉你怎么选
  • 【云计算原理及实战】初识云计算
  • Open3D (C++) 基于拟合高差的点云地面点提取
  • 认识Transformer:入门知识