远程URL文件批量下载打包的方法

开始

  • 最近代码重构遇到了一个问题,需要把OSS 上的一批图片打包下载
  • 旧服务器的硬盘是直接挂载OSS,所以直接调的Linux系统命令复制打包,所以速度比较快。新服务器重构代码行不通,这样做也不好
  • 查阅OSS并没有提供相关API(七牛支持)

解决方法:

  • PASS掉 PHP后台fetch图片到内存然后进行打包输出给前端(图片有ai,psd内存撑不住)
  • PASS掉 PHP后台fetch图片到服务器硬盘,然后进行打包输出一个临时链接给前端(同上,文件太大,导致fetch时间和打包的时间太久)
  • JS 尝试通过前端请求后端,后端返回文件信息,然后前端异步请求所有文件,最后在前端打包下载

前提

想法很好,并且已经有人这样做了,我们只用考虑按照别人的做法坐下去
前端打包有两个前提:
1. 跨域问题,需要运维在OSS或者下载的资源服务器设置允许跨域
2. CDN问题,让运维配置一个新域名不要走CDN(如没使用CDN可忽略)


步骤


完成之后,发现效果还不错。速度也比后端的来的块。毕竟不经过后端。而且可以多个请求异步处理。

点赞