下载资料方式总结

下载方式总结

近期遇到从服务器下载size较大的资料时等待时间过长且没有下载进度提示的问题,导致用户以为服务卡死,所以结合自身开发环境与测试结果,做出以下总结

结果下载源下载方式是否存在跨域问题是否存在ssl认证失败的问题(https协议时)文件类型直接在浏览器中打开Content-Disposition=inline下载到本地Content-Disposition=attachment是否显示浏览器下载进度耗时
NG(跨域问题)网盘前端通过XMLHttpRequest向网盘发请求-----
NG(pdf和mp4会直接打开)同上前端通过window.open(网盘url)的方式pdf,MP4-
OK(耗时短且显示进度条)同上同上pdf,MP4,zip30s以内
NG(ssl认证失败)同上调用后台下载资料的API,前台读取后台返回的文件流pdf,MP4,zipinline或attachment都可以inline或attachment都可以5分钟以上
NG(耗时长且不显示进度条)磁盘调用后台下载资料的API,前台读取后台返回的文件流pdf,MP4,zipinline或attachment都可以inline或attachment都可以5分钟以上

经确认,只有通过网盘下载,且通过window.open(网盘url)的方式,或点击a标签的网盘link方式下载时,不会出现跨域问题,也可以显示浏览器的下载任务和进度,最重要的是下载速度很快
不过,需要注意的是,需将网盘下载文件的配置改为Content-Disposition=attachment,防止MP4,pdf类型文件在网页直接打开

另外,关于跨域问题,还值得进一步研究,即使将网盘的Access-Control-Allow-Origin设置为*,也没有解决跨域的问题,希望解决过类似问题的小伙伴能分享一下。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值