window.location.href下载跳转到空白页面问题

举报
辰兮 发表于 2022/03/22 23:12:04 2022/03/22
【摘要】 hello你好我是辰兮很高兴你能来阅读,最近一直在做更前端相关的业务,这里来整理一下我们文件下载常见到一些问题,以及解决思路,分享获取新知,大家一起进步! 最近遇到了挺多关于下载文件的问题,来...

hello你好我是辰兮很高兴你能来阅读,最近一直在做更前端相关的业务,这里来整理一下我们文件下载常见到一些问题,以及解决思路,分享获取新知,大家一起进步!

最近遇到了挺多关于下载文件的问题,来整理一下问题以及解决思路

在这里插入图片描述

场景一:如何实现文件的下载

前端比较简单的做法就是,后台就是IO流的输出

window.location.href = ‘url’

  
 
  • 1

正常我们前端点击下载的时候会访问一个路径,后台通过IO流进行相关的输出,实现下载,这里在controller层这个访问路径的返回值一般都是void,因为是IO流的输出

前端这里我们可以本地测试一下,导入一个本地文件的路径,点击下载按钮即可测试


场景二:下载的时候跳转到登录页面

原因一:这个路径本身没有文件给你下载,即导出文件为空

原因二:可能使用的是无痕浏览器,这里之所以返回到了登录页面是因为做了类似的token校验的相关问题,所以返回到登录界面

我一般测试会用无痕浏览器测试,上次就遇到了这样的问题,以上的两种场景我都遇到过

在这里插入图片描述

解决思路:检验是否上述原因,下载的时候做判空判断


场景三:下载的时候跳转到空白界面

类似上面的情况,其实正常下载的时候我们要根据业务常见进行相关的判断

比如你现在的是某一个数据库表的数据,但是这个表示测试后来直接新加的,本身就是没有数据的,就会出现这样的问题

解决思路:检验是否上述原因,下载的时候做判空判断

好比点击数据库的下载下载数据中的所有表,这时候我们可以根据数据库的id查询出该数据库下是否有表 ,如果没有表进行一个小提示,如果有这个有表,那么执行接下来下载的操作

if(){
//如果为空提示,无数据无法下载
}else{
//正常下载
}

  
 
  • 1
  • 2
  • 3
  • 4
  • 5

正如世界上最远的距离就像if else 虽然总是相遇单总无法同时执行!

本篇的分享就到这里了希望对你解决问题有帮助!


The best investment is to invest in yourself.

在这里插入图片描述

2020.11.08 晚20:40 愿你们奔赴在自己的热爱里!

文章来源: blessing.blog.csdn.net,作者:辰兮要努力,版权归原作者所有,如需转载,请联系作者。

原文链接:blessing.blog.csdn.net/article/details/109564104

【版权声明】本文为华为云社区用户转载文章,如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。