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

自己做网站建设方案怎么做网站视频播放代码

自己做网站建设方案怎么做,网站视频播放代码,幼儿园网站模板怎么做,外包网页在前端中,有很多下载文件的情况,在大多数情况下,后端是以流的形式把需要的数据返回给前端,这就有接口报错的情况在里面,如果接口报错,有的后端则会返回一个带有错误信息的JSON给我们,比如下面这…

        在前端中,有很多下载文件的情况,在大多数情况下,后端是以流的形式把需要的数据返回给前端,这就有接口报错的情况在里面,如果接口报错,有的后端则会返回一个带有错误信息的JSON给我们,比如下面这样:

{code: "-1",data: null,message:"没有数据导出!"
}

所以我们在封装axios的时候,需要在请求拦截中做一些处理:

service.interceptors.response.use((response) => {if (response.config.responseType === 'blob') {const contentType = response.headers['content-type']// 情况1:收到的是文件流(正常下载)if (contentType.includes('excel')) {// 方式 1:从自定义头获取const filenameFromHeader = response.headers['filename'];// 方式 2:从 Content-Disposition 解析const contentDisposition = response.headers['content-disposition'];const filenameFromCD = contentDisposition?.split('filename=')[1]?.replace(/"/g, '');return {blob: response.data, // 二进制数据filename: decodeURIComponent(filenameFromHeader || filenameFromCD // 从header获取文件名)}}// 情况2:收到的是错误信息(需要转换)return new Promise((resolve, reject) => {const reader = new FileReader()reader.onload = () => {try {const json = JSON.parse(reader.result)if (json.status !== 200) { // 根据你的错误码约定调整reject(json.message || '下载失败')}}catch (e) {console.log('e==>', e);reject('响应解析失败')}}reader.readAsText(response.data)})}return response.data
}, err)

当然,在封装我们的下载方法的时候,也要记得给responseType加上blob

export function functionName(parameter) {return axios({url: '/api/XiaZaiDiZhi',method: 'post',data: parameter,responseType: 'blob'})
}

在调用方法的时候,如果接口报错,返回了JSON,我们就可以直接在catch中获取到报错信息,也可以获取到我们所需要的文件名称

//调用接口
functionName(fromsData).then((data) => {const fileName = data.filename;const url = window.URL.createObjectURL(data.blob);const a = document.createElement("a");a.href = url;a.download = fileName;document.body.appendChild(a);a.click();window.URL.revokeObjectURL(url);}).catch((err) => {this.$message.error(err);});

http://www.cadmedia.cn/news/10296.html

相关文章:

  • 网上注册公司流程及费用冯宗耀seo教程
  • 工程建设网站策划方案百度关键词优化多少钱一年
  • 手机网站的网址是什么原因2024最火的十大新闻有哪些
  • 成为软件工程师的条件seo基础知识
  • 五种网站类型seo课程培训机构
  • 浙江台州做网站的公司有哪些国外网站排名前十
  • 域名备案网站建设方案书seo博客网址
  • php开发做网站营销和运营的区别是什么
  • 国内设计欣赏网站哪有恶意点击软件买的
  • 用dw自己做网站免费推广工具有哪些
  • xxx网站建设与优化推广网站建设策划书
  • 北京大学php培训网站源码(dede海口seo快速排名优化
  • 惠州网站小程序建设点高报师培训机构排名
  • 公司网站建设专家收录网站排名
  • 门户网站建设方案中信息公开福建省人民政府
  • 广东平台网站建设找哪家线上营销渠道有哪些
  • 网站建设的进度安排和人员安排seo网络优化是什么工作
  • 网站改版后的推广办法nba最新排行
  • 浙江省建设科技推广中心网站网站制作策划
  • wordpress oop搜索引擎优化的实验结果分析
  • 厦门网站建设模拟今日新闻头条内容
  • 短链生成网站seo 公司
  • 上海建设公司seo优化评论
  • 江西建设安全网站seo基础知识培训视频
  • 临沂网站设计价格债务优化是什么意思
  • 常用外贸网站中文域名注册官网入口
  • 网站开发合同成都门户网站建设
  • 免费咨询法律律师在线劳动仲裁seo推广技巧
  • 石家庄网站建设刘华厦门百度竞价推广
  • 成都公司网站制作公司杭州百度seo优化