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

怎么样用手机做网站关键词兰州免费网站建设

怎么样用手机做网站关键词,兰州免费网站建设,个人主页设计模板,wordpress网站搬家vps前端实现获取后端返回的文件流并下载 方法一#xff1a;使用Axios实现文件流下载优点缺点 方法二#xff1a;使用封装的Request工具实现文件流下载优点缺点 方法三#xff1a;直接通过URL跳转下载优点缺点 结论 在前端开发中#xff0c;有时需要从后端获取文件流#xff0… 前端实现获取后端返回的文件流并下载 方法一使用Axios实现文件流下载优点缺点 方法二使用封装的Request工具实现文件流下载优点缺点 方法三直接通过URL跳转下载优点缺点 结论 在前端开发中有时需要从后端获取文件流并将其下载到本地。本文介绍如何在前端实现此功能的不同的实现方法并分析其优缺点 方法一使用Axios实现文件流下载 使用Axios实现文件流下载的方法本人亲测可以实现 import axios from axios; import { getToken } from /utils/authhandleExport() {// 接口调用获取文件axios({method: get,responseType: blob, // 指定响应类型为bloburl: this.GLOBAL.baseURL /api/v1/business/user/export,data: this.queryParams, // 导入文件一般都用FormData格式数据headers: { Authorization: Bearer getToken() } // 传递token进行身份验证}).then(res {if (res.code 200) {// 导入成功this.downloadBinaryFile(res.data, 导入失败后下载的报错文件)} else {// 输出失败信息}}).catch(error {console.error(下载失败, error);}); },/*** 将二进制文件下载到本地保存为excel文件* param {*} binFile 二进制文件流* param {*} fileName 下载后的文件名* param {*} blobType 文件格式默认为 application/vnd.ms-excel*/ downloadBinaryFile(binFile, fileName, blobType application/vnd.ms-excel) {// 创建 Blob 对象包含二进制文件流和文件类型const blobObj new Blob([binFile], { type: blobType });// 创建下载链接元素const downloadLink document.createElement(a);// 处理不同浏览器的 URL 兼容性let url window.URL || window.webkitURL; url url.createObjectURL(blobObj); // 创建文件 URL// 设置下载链接属性downloadLink.href url;downloadLink.download fileName;// 将下载链接添加到文档中并触发点击事件document.body.appendChild(downloadLink);downloadLink.click();// 移除下载链接并释放 URL 对象document.body.removeChild(downloadLink);window.URL.revokeObjectURL(url); }实现的效果 优点 支持传递Token进行身份验证安全性较高支持POST请求可以将参数放在请求体中避免URL长度限制及参数暴露 缺点 实现相对复杂需要手动创建和管理Blob对象及下载链接 方法二使用封装的Request工具实现文件流下载 接下来介绍使用封装的Request工具实现文件流下载的方法 import request from /utils/request// 日志管理收藏、浏览、下载导出接口 export function exportUserOperateAdmin(data, headers) {return request({url: /business/user/export,method: get,data: data,headers: headers}) }// 调用导出接口 exportUserOperateAdmin(this.queryParams, { responseType: blob }).then(response {console.log(response)const url window.URL.createObjectURL(new Blob([response.data])) // 创建下载链接const link document.createElement(a)link.href urllink.download 全文导入模板.xlsx // 设置文件名document.body.appendChild(link)link.click() // 触发下载document.body.removeChild(link) // 下载后移除元素} ).catch(error {console.error(下载失败, error)this.loading false // 停止加载隐藏加载状态 })优点 封装后的Request工具调用简单代码更简洁支持传递Token进行身份验证安全性较高 缺点 实现相对简单但仍需手动处理Blob对象及下载链接 方法三直接通过URL跳转下载 最后介绍直接通过URL跳转实现文件下载的方法 const baseurl this.GLOBAL.baseURL // 拼接上导出的地址如果接口还需要其他参数都可以直接拼接上 let url baseurl /api/v1/business/user/export; console.log(url) alert(url) // 第二个参数_self表示在当前页下载不打开新的页面 window.open(url, _self)优点 实现简单不需要处理Blob对象及下载链接适合下载无需身份验证或参数简单的文件 缺点 无法传递Token进行身份验证安全性较低参数放在URL中不安全且可能会导致URL过长处理中文参数可能会出现乱码问题 结论 以上三种方法各有优缺点实际开发中可以根据具体需求选择合适的方法。 如果需要传递Token进行身份验证并确保下载安全性推荐使用方法一或方法二 如果只是简单下载无需验证的文件可以考虑使用方法三
http://www.zqtcl.cn/news/963303/

相关文章:

  • 做网站点子免费做简历的软件网站
  • 刘涛做代言的那个网站设计与制作
  • 专业网站建站星辰wordpress主题
  • 淄博个人网站建设天津网站制作机玩法部
  • 帮人做图挣外快的网站seo优化教学视频
  • 做房产中介需要有内部网站吗烟台开发区网站建设
  • 网站资质优化网站备案密码使用
  • 廊坊营销网站团队网站推广报告
  • 商品网站模板多语言企业网站模板
  • 佛山网页制作设计东莞seo推广机构帖子
  • 公司网站开发费用如何入账网站开发与设计实训总结两千字
  • 生物网站模板在线crm厂商
  • 在线制作动画网站ps切图做网站
  • 西安企业网站建设公司虚拟主机可以做视频网站嘛
  • 做淘客网站用什么程序今天杭州新闻最新消息
  • 东莞专业建网站网站制作方案相信乐云seo
  • 网站分页符素材怎么解决
  • 行远金华网站建设公司合肥公司做网站
  • 餐厅类网站模板中国电建市政建设集团有限公司网站
  • 格力网站建设首页六盘水遵义网站建设怎么做
  • 建设工程企业资质工作网站创建网站怎么赚钱的
  • 三水网站建设流感吃什么药最好
  • 洛阳市住房和城乡建设局网站怎么查询企业注册信息
  • 商业摄影网站源码wordpress文章作者
  • 昆明企业网站模板建站漳浦建设局网站更新
  • 企业网站建设策划书微信开发者工具是干嘛的
  • 泵 品牌网站建设WordPress头像不能本地化
  • vue快速建站网站开发法律
  • 家居行业网站开发百度竞价推广账户
  • 粉色大气妇科医院网站源码百度网址大全网址