tt.downloadFile收藏我的收藏
收藏
我的收藏基础库版本 1.0.0 开始支持
客户端直接发起一个 HTTPS GET 请求,下载网络文件到本地临时目录。
iOS系统从 2.21.0(包含)版本开始, 单次下载允许的最大文件为 50MB 提升到 200M,安卓侧依然是50MB。
语法
tt.downloadFile(options)
参数说明
options 为 Object 类型,属性如下:
属性名 | 类型 | 默认值 | 必填 | 说明 | 最低支持版本 |
url | string | -- | 是 | 文件地址 | 1.0.0 |
header | object | -- | 否 | 请求 Header | 1.0.0 |
success | function | -- | 否 | 接口调用成功的回调函数 | 1.0.0 |
fail | function | -- | 否 | 接口调用失败的回调函数 | 1.0.0 |
complete | function | -- | 否 | 接口调用结束的回调函数(成功、失败都会执行) | 1.0.0 |
Header说明
referer
请求
header
中的 referer
不可设置。其固定格式为:
https://tmaservice.developer.toutiao.com?appid={appid}&version={appVersion}
,其中 appid
为小游戏的 APPID,appVersion
为小游戏的版本号。user-agent
请求
header
中的 user-agent
不可设置。其固定格式分为:
- •IOS 系统:
[系统user-agent] [宿主标识]/[宿主app版本] ToutiaoMicroApp/[基础库版本] webview/[插件版本]
。- •Android 系统:
[系统user-agent] [宿主标识]/[宿主app版本] ToutiaoMicroApp/[基础库版本] PluginVersion/[插件版本]
。回调成功
Object 类型,属性如下:
参数 | 参数类型 | 说明 | 最低支持版本 |
tempFilePath | string | 1.0.0 | |
statusCode | number | 返回 HTTP 状态码 | 1.0.0 |
回调失败
Object 类型,属性如下:
参数 | 参数类型 | 说明 | 最低支持版本 |
errMsg | string | 错误信息 | 1.0.0 |
返回值
扫码体验
代码示例
let task = tt.downloadFile({ url: "somefileurl", success(res) { if (res.statusCode === 200) { console.log(`${res.tempFilePath}`); } }, fail(res) { console.log(`downloadFile调用失败`); }, }); task.onProgressUpdate((res) => { this.setData({ progress: res.progress, }); }); if (someReason) { task.abort(); }
Bug & Tip
- •Tip:
header
不支持设置 referer
、user-agent
字段。- •Tip:请在服务端响应的
header
中指定合理的 Content-Type
字段,以保证客户端正确处理文件类型。- •Tip:目前
tt.downloadFile
暂不支持多文件下载,一次只能下载一个文件。