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

wordpress伪静态linux如何给自己的网站做优化

wordpress伪静态linux,如何给自己的网站做优化,wordpress主题选项单选框,朝阳网站建设多少钱在前端中,有很多下载文件的情况,在大多数情况下,后端是以流的形式把需要的数据返回给前端,这就有接口报错的情况在里面,如果接口报错,有的后端则会返回一个带有错误信息的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/536161.html

相关文章:

  • 新手做网站教程开网店视频教程
  • 工信和信息化部网站谢岗仿做网站
  • 网站推广属于什么行业黑河网站建设公司
  • 天津市建设与管理局网站下载做会计网站的流程图
  • 福州专业做网站公司下拉网站导航用ps怎么做
  • 大美工网站建设工程标准在线网站
  • 北京天仪建设工程质量检测所网站河源网站设计怎么做
  • 惠州建站公司导航类wordpress主题
  • 建设主题网站一般要经历的顺序注册网站需要什么程序
  • mq网站开发网站建设平台价位
  • 帝国cms网站制作免费微信建站有哪些网站
  • 网站栏目模块宣传册设计与制作图片
  • 常见网站推广方式wordpress有赞收款插件
  • 网站建设属于广告费么静态网站的好处
  • 网站服务器和网站手机app游戏制作软件
  • 如何在自己网站上做支付宝泰州网站建设与网页制作
  • 晋江企业网站制作合肥网站开发网络公司
  • 做网站经营流量实用的wordpress插件
  • 做网站优化需要做哪些事项北京网站空间域名
  • 安徽网站建设天锐科技桂林红豆网论坛
  • c 网站开发网易云课堂百度云下载一个域名可以做多少个二级网站
  • 建设电影网站难吗优化大师安卓版
  • 外贸网站建设和网站推广要怎么做长沙大型网站设计公司
  • 做植物网站提高网站速度
  • 咸阳做网站托管义乌网
  • 做网站需要写代码吗百度竞价规则
  • 汕头站扩建后比哪个站大龙岩网站设计较好的公司
  • 东莞网站建设套餐上海注册公司一网通办
  • 邮箱网站怎么做网站如何换服务器
  • 没有域名 有公网ip 建网站可以wordpress菜单和页面的关系