下载文件

查看 llm.txt

最后一次编辑于 2026-08-24

从对象存储空间下载文件到小程序本地

本文档适用于公众号 H5 中使用,如果你不是公众号 H5,请移步适合的文档

请求参数

字段 说明 数据类型 默认值 必填
fileID 云文件 ID String - 是
config 配置 Object - 否
success 成功回调
fail 失败回调
complete 结束回调

config 对象定义

字段 说明 数据类型
env 使用的环境 ID,填写后忽略 init 指定的环境 String

success 返回参数

字段 说明 数据类型
tempFilePath 临时文件路径 String
statusCode 服务器返回的 HTTP 状态码 Number
errMsg 成功为 downloadFile:ok,失败为失败原因 String

fail 返回参数

字段 说明 数据类型
errCode 错误码 Number
errMsg 错误信息,格式 downloadFile:fail msg String

使用示例

1. Callback 风格

cloud.downloadFile({
  fileID: 'cloud://test.png', // 对象存储文件ID,从上传文件接口或者控制台获取
  success: res => {
    console.log(res.tempFilePath)
  },
  fail: err => {
    console.error(err)
  }
})

2. Promise 风格

cloud.downloadFile({
  fileID: 'cloud://test.png', // 对象存储文件ID,从上传文件接口或者控制台获取
}).then(res => {
  console.log(res.tempFilePath)
}).catch(error => {
  console.error(err)
})

3. 完整示例

以下示例代码写入 HTML 文件,然后在浏览器打开。

云托管不支持未登录模式,请使用以下安全实现:

  1. 使用公众号有鉴权登录方式,具体参见文档,需要已认证的服务号,订阅号不支持。
  2. 使用服务端获取 API 方式,将下载收归于业务控制,具体参见文档,开发灵活但技术要求较高。

以上两种方式都可以安全的实现操作,第1个用的是权限管控(可以配置安全规则,由平台维护),第2个是自己和业务结合,由自己维护;请根据业务需要斟酌使用!

<script src="https://web-9gikcbug35bad3a8-1304825656.tcloudbaseapp.com/sdk/1.3.0/cloud.js"></script>
<script>
  window.onload = async function () {
    window.c1 = new cloud.Cloud({
      appid: '公众号AppID', // 运行的公众号APPID
      resourceAppid: '小程序或公众号AppID', // 资源方账号APPID
      resourceEnv: '微信云托管环境ID', // 资源方云环境 ID
      traceUser: true // 记录用户访问
    });
    await window.c1.init();
    const result = await c1.downloadFile({
      fileID: 'cloud://test.png' // 临时路径获取
    })
    console.log(result)
  }
</script>