Welcome toVigges Developer Community-Open, Learning,Share
Welcome To Ask or Share your Answers For Others

Categories

0 votes
3.5k views
in Technique[技术] by (71.8m points)

如何做下载功能?

因为文件挺大的
一个get/post请求往往会超时

一般的下载:点击得到一个链接 用户可以看到下载进度那种

是怎么做的?

后续:
参考官方例子

算是实现了
但是有一个新问题
前端用axios来做每次都是等所有数据都下载完了才会返回 而用a标签可以直接打开保存窗口 看到下载进度

如何用axios来实现下载进度呢?


与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
Welcome To Ask or Share your Answers For Others

1 Answer

0 votes
by (71.8m points)

由于官方文案https://github.com/eggjs/exam...

只用适用于a标签

所以我的解决方案是:
后端管理一个下载映射:文件和hash
每次用户点击以后,后端返回其他数据和一个唯一hash标记
前端拿到标记 再用a标签去请求如官方文档所诉方法的对应接口来实现下载

浏览器侧的表现是正确响应数据并打开一个保存窗口


与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
Welcome to Vigges Developer Community for programmer and developer-Open, Learning and Share
...