ARTICLE DETAIL

资讯详情

深耕网站建设、视觉设计与SEO优化的一线实战洞察。

Nextcloud文件压缩:3 步打包文件夹 + 3 个省空间动作

Nextcloud文件压缩:3 步打包文件夹 + 3 个省空间动作 Nextcloud文件压缩3 步打包文件夹 3 个省空间动作【免费下载链接】server☁️ Nextcloud server, a safe home for all your data项目地址: https://gitcode.com/GitHub_Trending/se/server把客户发来的 47 个文件存进 Nextcloud 后对方想要一份完整副本。逐个下载再手动打包不如直接在文件页多选后点下载——服务器会把选中内容压成一个 ZIP 流式送回。Nextcloud文件压缩走的就是这条 DAV 通道请求带一个acceptzip参数后端即时压缩输出不落盘存 ZIP。本文拆解打包下载的触发方式并给出 3 个省服务器空间的动作。下载按钮背后DAV端点与 acceptzip先说结论点下载时浏览器并没有直接拿到 ZIP而是被服务器 302 重定向到 DAV 端点。以共享下载为例apps/files_sharing/lib/Controller/ShareController.php的downloadShare方法在确认共享对象是文件夹后拼 URL 并返回重定向响应// 目标节点是文件夹时追加 acceptzip交给 DAV 端即时压缩 $params[accept] zip; $davUrl /public.php/dav/files/ . $token . $davPath; $davUrl . ? . http_build_query($params); // 只打包指定子集时再加 files 参数 return new RedirectResponse($this-urlGenerator-getAbsoluteURL($davUrl));白话讲acceptzip是告诉 DAV 服务按 ZIP 输出的开关压缩在请求处理期间流式完成磁盘上只产生临时数据请求结束即释放。这也是大文件夹下载慢的直接原因——每个文件都在这一轮里被读一遍、压一遍。共享链接下载 vs 多选打包选对打包下载的方式两条下载路径共用同一套 ZIP 逻辑区别只在入口和权限维度共享链接下载文件页多选下载适用场景给非注册用户取文件免登录自己账号内整理、导出操作步骤数4 步3 步是否需要登录否公开链接可直达是能否只打子集能files参数指定文件列表能勾选即子集共享链接下载四步走文件夹上打开共享设置创建公开链接在链接卡片点下载或直接用链接访问后点击页面下载按钮浏览器 302 到/public.php/dav/files/{token}/?acceptzipZIP 开始下载中途无需任何操作。多选打包下载三步走登录文件页 → 按住 Ctrl 勾选多个文件或文件夹 → 点工具栏下载。单文件直接下载多文件才触发打包。省空间的空间优化三个动作一张表优化点操作路径适用角色清理临时压缩与升级备份后台任务core/BackgroundJobs/BackgroundCleanupUpdaterBackupsJob.php定时运行仅保留最近 3 份备份目录更早的自动删除管理员按文件类型取舍压缩预期文本类、代码类文件夹压缩收益高图片、视频已接近无损压缩几乎不减体积只耗 CPU 时间——大媒体库打包时把时间花在排队而不是指望瘦身管理员 / 用户收紧文件版本保留策略版本功能在apps/files_versions/每个历史版本完整占一份文件空间按保留天数 各区间版本数收紧即可普通用户 / 管理员上线前的注意事项大文件夹压缩是流式处理耗时与文件总数、单文件体积正相关几百个文件的目录等几分钟很正常浏览器侧同理ZIP 解出来后本地的临时压缩包和残留分卷及时删除别在下载目录里长期堆着管理员应把数据目录的剩余磁盘纳入巡检——临时压缩、升级备份都落在数据盘上低于 10% 剩余容量时打包和升级都可能失败共享下载注意权限边界共享关闭下载权限或设为隐藏下载后该入口直接不可用属预期行为。把这两条下载路径和三个空间动作落到流程里打包下载就不再是点了等半天的黑盒。参考资料项目 README 与目录结构README.md共享链接下载实现所在模块apps/files_sharing/版本保留策略所在模块apps/files_versions/备份目录清理任务源码BackgroundCleanupUpdaterBackupsJob.php【免费下载链接】server☁️ Nextcloud server, a safe home for all your data项目地址: https://gitcode.com/GitHub_Trending/se/server创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
返回列表