抖音开放平台Logo
控制台

tt.downloadFile
收藏
我的收藏

基础库版本 1.0.0 开始支持​
客户端直接发起一个 HTTPS GET 请求,下载网络文件到本地临时目录。​
网络相关的 API 在使用前需要配置域名白名单,详细说明。​
iOS系统从 2.21.0(包含)版本开始, 单次下载允许的最大文件为 50MB 提升到 200M,安卓侧依然是50MB。​

语法​

JavaScript
复制
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

返回值​

DownloadTask(下载任务对象),调用 tt.downloadFile 后返回的请求对象。​

扫码体验​

代码示例​

JavaScript
复制
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 不支持设置 refereruser-agent 字段。​
    Tip:请在服务端响应的 header 中指定合理的 Content-Type 字段,以保证客户端正确处理文件类型。​
    Tip:目前 tt.downloadFile 暂不支持多文件下载,一次只能下载一个文件。​