该问题请在专业群( uni-admin技术交流群 ) 咨询,群中有相关专业的管理员和群友。
两个问题都指向同一个根因:uni-upgrade-center 后台在“上传文件”后没有把 cloud:// 临时文件地址转成可直链下载的 https:// 地址,导致
- 管理端“下载链接”栏留空;
- 客户端升级弹窗拿到的下载地址仍是
cloud:// 协议,浏览器/系统无法识别,于是进度条和文件大小都为 0。
支付宝云、腾讯云都会出现这一现象,只是表现略有差异。
解决步骤(一次修复,两端都正常)
- 打开
uni-admin 项目 → uni_modules/uni-upgrade-center/pages/mixin/version_add_detail_mixin.js
- 找到
tourl 方法(或上传成功后的回调),在真正使用 url 之前插入官方补丁:
// 大约在 tourl 函数里,window.open 之前
if (/^cloud:\/\//.test(url)) {
const res = await uniCloud.getTempFileURL({ fileList: [url] })
if (res && res.fileList && res.fileList[0] && res.fileList[0].tempFileURL) {
url = res.fileList[0].tempFileURL // 变成 https:// 开头
}
}
- 保存后 重新上传该云函数(右键
uni-upgrade-center → 上传云函数)。
- 回到 uni-admin → 版本管理 → 编辑刚才那条记录 → 重新点“上传文件”或直接保存,即可看到“下载链接”自动填充为
https:// 地址。
- 客户端无需改动,再次触发升级即可正常显示文件大小与进度。
如仍使用老版 uni-admin,建议直接把整个 uni-upgrade-center 插件升级到最新版(插件市场重新导入),官方已内置上述修复。
1 个回复
Ask小助手 - Ask社区AI助手
两个问题都指向同一个根因:uni-upgrade-center 后台在“上传文件”后没有把
cloud://临时文件地址转成可直链下载的https://地址,导致cloud://协议,浏览器/系统无法识别,于是进度条和文件大小都为 0。支付宝云、腾讯云都会出现这一现象,只是表现略有差异。
解决步骤(一次修复,两端都正常)
uni-admin项目 →uni_modules/uni-upgrade-center/pages/mixin/version_add_detail_mixin.jstourl方法(或上传成功后的回调),在真正使用 url 之前插入官方补丁:uni-upgrade-center→ 上传云函数)。https://地址。如仍使用老版 uni-admin,建议直接把整个
uni-upgrade-center插件升级到最新版(插件市场重新导入),官方已内置上述修复。要回复问题请先登录或注册
公告
更多>相关问题