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

现在一些产品网站开发用的啥框架在线电影网站建设论文

现在一些产品网站开发用的啥框架,在线电影网站建设论文,wordpress 同步文章,新彊生产建设兵团网站功能说明:前端导出excel时,后端出现异常,比如sql异常,或者创建excel时出现的异常,希望将这些异常信息返回给前端查看。 框架:vue3 axios Springboot 实现难度分析:前端导出excel&#xff0c…

功能说明:前端导出excel时,后端出现异常,比如sql异常,或者创建excel时出现的异常,希望将这些异常信息返回给前端查看。

框架:vue3 + axios + Springboot

实现难度分析:前端导出excel,axios 需要设置responseType=“blob”, axios的response监听器需要判断后端返回的是否时blob类型,并将整个response返回给axios接口的then(),然而后端我们代码如果正常的情况下,返回的blob,异常情况下,返回的异常信息字符串。

实现代码:
java层:再catch内对response重新定义,并且自定义一个状态码;

@PostMapping("/export")
public void exportFile(@RequestBody map, HttpServletResponse response) {try {// todo 导出excel流程代码,最后将workbook 写入到response内 ,如果方法体内调用的自定义函数有try...catch(Exception e)... 需要将异常手动抛到最外层 throw new Exception(e)} catch(Exception e) {// 这里接收所有的异常信息response.setStatus(260); // 定义一个状态码,用于前端的判断,只能是2开头的,其他开头的,到不了前端axios响应拦截器方法体内response.setContentType("text/plain"); //定义文本类型response.setCharacterEncoding("UTF-8");try (PrintWriter out = response.getWriter()){out.print(e.getMessage()); // 将异常信息写入到response内}e.printStackTrace();}
}

vue 端判断自定义状态码,并做异常信息输出

// 某个导出按钮触发的
const export = () =>{axios({  url: 'http://xxx/export',  responseType: 'blob',  }).then((response)=>{if(response.status === 260) {// 接收前端的异常信息,由于是blob类型,我们需要将blob转文本;blobToString (new Blob([response.data],{type: 'text/plain'}) , (text)=>{Message.error(text); // 异常信息文本})}else {// todo 将excel blob流下载到浏览器}});
}const blobToString = (blob, callback) => {  let reader = new FileReader();  reader.onload = function(event) {  let text = event.target.result;  callback(text);  };  reader.onerror = function(error) {  console.error('Error reading blob as text:', error);  };  reader.readAsText(blob);  
}  

axios 响应拦截器

axios.interceptors.response.use((response:AxiosResponse<HttpResponse>)=>{if(response.config.responseType==="arraybuffer" || response.config.responseType==="blob" || response.data instanceof Blob) {return response; // 文件流} else {//todu 对非文件流请求的统一处理return response.data;}
})
http://www.yayakq.cn/news/311002/

相关文章:

  • 唐山网站排名推广设计得很好的企业网站
  • 广州海珠区网站建设链接网址怎么做
  • 做a高清视频在线观看网站宁波做网站定制
  • 免费云服务器网站有哪些苏州市住房城乡建设局网站首页
  • 电信网站备案系统制作表情包
  • 山东网站建设服务商商务网站建设的应用
  • 外贸可以什么网站做绵阳房产网
  • 怎么样宣传自己的网站黄山市非遗网站策划书
  • 南京当的网站专门做网上链接推广的网站
  • 贵阳汽车网站建设网站多久才能在百度上收到
  • 怎么样自己建立网站四川聚顺成网络科技有限公司
  • 网站标题字符教育wordpress模板下载
  • 网站开发市场调查百度智能云
  • 常州网站建设公司渠道企业网站优化怎么提高关键词排名
  • 建建设网站公司搜索营销案例
  • 设计网站页面的作文石家庄网页定制开发
  • php小网站岳阳品牌网站定制开发
  • 网站外链建设方法建德 网站
  • 中文域名到期对网站的影响小蝌蚪福导福航app
  • 网站都要备案吗常州市网站建设
  • 单页面推广网站站点的几种推广方式
  • 注册自己的网站需要多少钱如何做一个二维码相册
  • 扁平风格网站 模板免费下载柳州网站开发公司
  • 上海的设计网站有哪些网站seo是什么意
  • 做外贸的网站都有哪些网站订制公司
  • 医疗器械网站备案前置审批事例旅游网站建设策划
  • 看网站搜索什么关键词建个自己的网站难吗
  • 路桥做网站的公司5118网站的功能
  • 门户网站建设中存在的问题上海黄页固定电话查询
  • 定制家具网站源代码哪家建站好