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

自己做的网站怎么接入微信长沙关键词快速排名

自己做的网站怎么接入微信,长沙关键词快速排名,中国日本最新军事新闻,江西住房与城乡建设委员会网站在前端中,有很多下载文件的情况,在大多数情况下,后端是以流的形式把需要的数据返回给前端,这就有接口报错的情况在里面,如果接口报错,有的后端则会返回一个带有错误信息的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.dtcms.com/wzjs/228608.html

相关文章:

  • 青岛建网站多少钱网上怎么发布广告
  • 微商营销北京seo代理计费
  • 上海专业网站建设价格徐州seo排名公司
  • 买卖平台有哪些网站阿里巴巴数据分析官网
  • 网站建设合同违约日本shopify独立站
  • 建设银行企业网上银行网站打不开长沙网站排名推广
  • 网站建设的素材软文发布
  • 集团门户网站建设费用114网址大全
  • 昆明企业网站制作抖来查关键词搜索排名
  • 是做网站好还是做游戏好福建seo关键词优化外包
  • 网站开发助理是什么所有代刷平台推广
  • 广州网站建设怎么样导购网站怎么推广
  • 集团公司网站建设游戏优化大师官方下载
  • 柳州网站开发郑州seo顾问
  • 湖州网站开发网站怎么开发
  • 帝国企业网站源码seo网站有优化培训班吗
  • 网站的排名就是友情链接seo人员招聘
  • 万网购买网站网络广告的计费方式
  • 网站开发公司比较有名学前端去哪个培训机构
  • 政府网站建设重要意义网络销售工作靠谱吗
  • 番禺招聘网最新信息seo优化方法有哪些
  • 仿牌网站流量无锡百度推广公司哪家好
  • 自己网站做访问统计代码拉新十大推广app平台
  • wordpress站长地图百度seo刷排名工具
  • wordpress bliss廊坊首页霸屏排名优化
  • 网站如何做移动网站最佳磁力吧ciliba
  • 可以做长页海报的网站网址域名大全
  • 长沙 网站建设实时疫情最新消息数据
  • 男人女人做那个网站百度关键词优化推广
  • 24 手表网站百度指数热度榜