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

Win10、Win11系统,使用谷歌浏览器文件流下载,C盘剩余容量小于4GB时,下载失败问题

问题描述

Win10、Win11系统使用谷歌浏览器,通过文件流的形式下载文件,在接口传输文件流的过程中,如果此时你的C盘容量剩余小于4GB(我的C盘容量是102BG,可能按照百分比来的),会出现传输超过10M的文件流,谷歌浏览器会主动断开传输,此时如果前端用的axios,会抛出Network Error,导致文件下载失败。
至少截止目前我发该文章的时间节点最新版本的谷歌浏览器是有这个问题的。
写完此篇文章,看有没有什么途径给谷歌浏览器反馈下这个问题。

问题分析

此问题并不是前端接收blob文件流时触发的,谷歌浏览器在接收数据中浏览器请求状态码是200,预览显示的是无法加载响应数据,Timing显示下载时间是326ms,说明下载有实际发生,但中途停止了。所以如果还是使用文件流方式下载文件,通过修改前端代码无法解决这个问题。
这可能是谷歌浏览器的安全策略。
由此引申,可能会出现其他问题,如果Windows系统C盘剩余容量小于4GB,通过接口返回的任何格式的数据大于10M时,也会出现中断传输的可能。

解决方案

1、使用文件直链下载代替blob文件流下载
2、如果还是用文件流下载方案,则需要使用分片下载,将每片文件流分割为小于10M的数据。
3、改用火狐浏览器,测试火狐浏览器可以正常下载。
4、使用谷歌浏览器的无痕模式,无痕模式下可以正常下载。
5、通过设置谷歌浏览器的Default软连接到其他盘,解决这个问题。

//例如我电脑:
//通过管理员身份打开cmd执行下边命令
//前边C盘是谷歌的Default文件地址(每个人不一样),后边是你自己建的其他盘软连接地址。
//执行该命令前,1、你应该先在其他盘创建一个文件夹,即软链接指向的地址;2、将原谷歌Default文件夹改名字,如Default.bak以做备份,在命令执行成功后,再考虑是否删除备份文件,以及将原谷歌Default文件中的所有文件复制到步骤1中你创建的文件夹
Mklink /d "C:\Users\10713\AppData\Local\Google\Chrome\User Data\Default" "D:\Chrome\Default"

相关文章:

  • 我的创作纪念日——聊聊我想成为一个创作者的动机
  • 25.6.5学习总结
  • 风机下引线断点检测算法实现
  • 系统思考持续训练
  • 【Redis】笔记|第10节|京东HotKey实现多级缓存架构
  • 简化复杂系统的优雅之道:深入解析 Java 外观模式
  • AI大模型在测试领域应用案例拆解:AI赋能的软件测试效能跃迁的四大核心引擎(顺丰科技)
  • Q: 数据库增删改查的逻辑如何实现?
  • 软件测试基础知识总结
  • 08_10小结
  • 八:操作系统设备管理之磁盘调度算法
  • 前端面试题之浏览器存储技术Cookie、LocalStorage、SessionStorage、indexDB
  • [蓝桥杯]后缀表达式
  • Scrum基础知识以及Scrum和传统瀑布式开发的区别
  • STL优先级队列的比较函数与大堆小堆的关系
  • I.MX6ULL裸机的EPIT实验
  • 贪心,回溯,动态规划
  • 从零发布一个 Vue 3 Button 组件到 npm(基于 Vite)
  • 更改安卓虚拟机屏幕大小
  • 计算机基础知识(第四篇)
  • 做下载网站用阿里云的什么产品/百度上首页
  • 做2手车网站需要多少钱/怎么创建个人网站
  • 甘肃省建设信息平台/茂名seo顾问服务
  • 怎样做门户网站/网络推广中心
  • 人大网站建设成就/小程序开发软件
  • 企业网站的基本内容和营销功能/广告公司推广