js实现oss批量下载文件_远程URL文件批量下载打包的方法

开始

最近代码重构遇到了一个问题,需要把OSS 上的一批图片打包下载

旧服务器的硬盘是直接挂载OSS,所以直接调的Linux系统命令复制打包,所以速度比较快。新服务器重构代码行不通,这样做也不好

查阅OSS并没有提供相关API(七牛支持)

解决方法:

PASS掉 PHP后台fetch图片到内存然后进行打包输出给前端(图片有ai,psd内存撑不住)

PASS掉 PHP后台fetch图片到服务器硬盘,然后进行打包输出一个临时链接给前端(同上,文件太大,导致fetch时间和打包的时间太久)

JS 尝试通过前端请求后端,后端返回文件信息,然后前端异步请求所有文件,最后在前端打包下载

前提

想法很好,并且已经有人这样做了,我们只用考虑按照别人的做法坐下去

前端打包有两个前提:

跨域问题,需要运维在OSS或者下载的资源服务器设置允许跨域

CDN问题,让运维配置一个新域名不要走CDN(如没使用CDN可忽略)

步骤

直接下载这两个库,然后把dist/下的文件放入到项目,也可以用github提供的方式引入

部分逻辑代码如下

// 引入文件

let total = 0;

let progress = 0;

// 可通过按钮或者其它事件触发

$.get('/urls', function(res) {

// 假设 res.data 是后端返回的一组远程数据对象

// {url: 'x.jpg', filename: &#

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值