抖音开放平台Logo
开发者文档
“/”唤起搜索
控制台
  • API 概览
  • C# API
  • 开放接口
  • 收藏
  • 群聊
  • 广告
  • 关注
  • 数据分析
  • 基础
  • 渲染
  • 设备
  • 文件
  • 位置
  • 媒体
  • 网络
  • 发起请求
  • 下载
  • 上传
  • tt.uploadFile
  • UploadTask
  • UploadTask
  • Websocket
  • 转发
  • 数据缓存
  • 广告
  • 界面
  • 支付
  • Worker
  • tt.uploadFile
    收藏
    我的收藏

    基础库 1.0.0 开始支持本方法,这是一个异步方法。

    将本地文件上传到网络。客户端将发起一个 HTTPS POST 请求,其中 content-type 为 multipart/form-data。

    前提条件

    网络相关的 API 在使用前需要配置域名白名单,请前往开发者平台「开发 - 开发设置」,添加 uploadFile 合法域名

    业务背景
    使用限制
    • header 不支持设置 refereruser-agentcontent-type 字段字段。
    • 目前 tt.uploadFile 上传文件大小限制为 10M。
    • 目前 tt.uploadFile 暂不支持多文件上传,一次只能上传一个文件。
    注意事项
    相关教程

    语法

    tt.uploadFile(options)

    参数说明

    options 为 object 类型,属性如下:

    属性名类型默认值必填说明最低支持版本
    urlstring
    目标地址
    1.0.0
    filePathstring
    本地文件路径
    1.0.0
    namestring
    HTTP 请求的文件名
    1.0.0
    headerobject{"content-type": "multipart/form-data"}
    请求 Header ,不能设置 referer 和 user-agent
    1.0.0
    formDataobject
    请求额外参数
    1.0.0
    timeoutnumber

    接口超时时间,单位为毫秒,不传默认取 game.json 中的 networkTimeout 配置

    3.83.0
    enableProfilebooleantrue

    是否开启 profile,默认开启。开启后可在接口回调的 res.profile 中查看性能调试信息。PC 未支持该能力,请使用真机调试。

    3.83.0
    successfunction
    接口调用成功的回调函数
    1.0.0
    failfunction
    接口调用失败的回调函数
    1.0.0
    completefunction
    接口调用结束的回调函数(调用成功、失败都会执行)
    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 类型,属性如下:

    属性名类型说明最低支持版本
    statusCodenumber
    返回 HTTP 状态码
    1.0.0
    datastring
    返回数据
    1.0.0
    errMsgstring
    "uploadFile:ok"
    1.0.0

    回调失败

    object 类型,属性如下:

    属性名类型说明最低支持版本
    errMsgstring
    "uploadFile:fail" + 详细错误信息
    1.0.0

    返回值

    类型说明最低支持版本
    object

    UploadTask 实例(上传任务对象)

    1.0.0

    错误码

    errNoerrMsg说明最低支持版本
    21100url is not valid domain, url == %s
    1.0.0
    21100url is invalid, url == %s
    1.0.0
    21102no file exist, filePath == %s
    1.0.0
    21101permission denied, open
    1.0.0
    20000abort
    1.0.0
    20000no uploadTaskId
    小游戏框架内部错误,有需要请创建工单咨询
    1.0.0
    20000internal error
    小游戏框架内部错误,有需要请创建工单咨询
    1.0.0
    20000$paramName is invalid
    1.0.0
    10501app in background
    1.0.0
    20000filePath is illegal
    1.0.0
    21000file is empty
    1.0.0
    21000url is not valid domain, url == $url
    1.0.0
    20000url is not valid domain, url == $url
    小游戏框架内部错误,有需要请创建工单咨询
    1.0.0

    扫码体验

    请使用字节宿主APP扫码

    代码示例

    开发者工具中预览

    let task = tt.uploadFile({ url: "someuploadurl", filePath: tempFilePath, name: "file", success(res) { if (res.statusCode === 200) { console.log(`uploadFile调用成功 ${res.data}`); } }, fail(res) { console.log(`uploadFile调用失败`); }, }); task.onProgressUpdate((res) => { this.setData({ progress: res.progress, }); }); if (someReason) { task.abort(); }