抖音开放平台Logo
开发者文档
控制台

FileSystemManager.saveFile
收藏
我的收藏

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

保存临时文件到用户目录, 用户目录以 ttfile://user 开头。

前提条件
业务背景
使用限制
注意事项
  • 该 API 会把临时文件 移动 到用户目录, 所以在调用成功后原文件路径将访问失败。
  • 从 2.21.0 (包含)开始,每个小游戏 ttfile://user 开头的用户目录储存上限从 50M 提升为 200M, 每个小游戏之间储存相互隔离。单个小游戏储存不区分预览版,正式版,统一分配空间额度。
  • 卸载宿主(例如头条, 抖音), 或者使用系统的清理功能将清除用户目录内的文件。
  • 通过 tt.downloadFile 下载的文件, tt.chooseImage 选择的文件会保存在以 ttfile://temp 开头的临时目录, 临时目录的文件会不定期清理, 如果希望下载的文件永久保留, 则可以通过 saveFile 将文件保存到以 ttfile://user 开头的用户目录下
相关教程

语法

FileSystemManager.saveFile(options)

参数说明

options 为 object 类型,属性如下:

属性名类型默认值必填说明最低支持版本
filePathstring

要存储的路径, 必须以 ttfile://user 开头

1.15.0
tempFilePathstring

文件临时路径

1.15.0
successfunction
接口调用成功的回调函数
1.15.0
failfunction
接口调用失败的回调函数
1.15.0
completefunction
接口调用结束的回调函数(调用成功、失败都会执行)
1.15.0

回调成功

object 类型,属性如下:

属性名类型说明最低支持版本
savedFilePathstring

保存后文件路径

1.15.0
errMsgstring

"saveFile:ok"

1.15.0

回调失败

object 类型,属性如下:

属性名类型说明最低支持版本
errMsgstring

"saveFile:fail " + 详细错误信息

1.15.0

错误码

errorCodeerrMsgerrorType说明最低支持版本
999999invalid paramD
参数错误
1.15.0
999991error stackF
小游戏框架内部错误,有需要请创建工单咨询
1.15.0
110901permission denied, $apiName $dirPathD
1.15.0
110902no such file or directory, $apiName $dirPathD
1.15.0
110904user dir saved file size limit exceededD
1.15.0
110903operation not permitted, $apiName $filePathD
1.15.0
999999params $paramName is requiredD
1.15.0
999999params $paramName type is not $paramType typeD
1.15.0
999999$paramName is invalidD
1.15.0
110900operation failedF
小游戏框架内部错误,有需要请创建工单咨询
1.15.0
999993internal errorF
小游戏框架内部错误,有需要请创建工单咨询
1.15.0

代码示例

const fileSystemManager = tt.getFileSystemManager(); tt.chooseImage({ success(res) { // 获取图片, chooseImage 获取的文件在临时文件目录内 const tempFilePaths = res.tempFilePaths; if (tempFilePaths[0]) { // 保存到用户目录 saveFile(tempFilePaths[0]); } }, }); function saveFile(tempFilePath) { fileSystemManager.saveFile({ tempFilePath, success(res) { console.log(`文件已经从 ${tempFilePath} 移动到 ${savedFilePath}`); }, fail(res) { console.log("保存失败", res.errMsg); }, }); }