- JS API 列表
- 基础
- 网络
- 媒体
- 地图
- 文件
- 开放接口
- 数据缓存
- 地理位置
- 设备
- 画布
- 界面
- 页面导航
- 侧边栏能力
- 行业开放
- AI/AR能力
- 第三方平台
- TTML
- 转发和挂载
- 其它
- 直播能力
tt.saveFile收藏我的收藏
收藏
我的收藏基础库 1.15.0 开始支持本方法,这是一个异步方法。
保存临时文件到用户目录,用户目录以 ttfile://user 开头。
通过 tt.downloadFile 下载的文件会保存在以 ttfile://temp 开头的临时目录,临时目录的文件会不定期清理,如果希望下载的文件永久保留,则可以通过 saveFile 将文件保存到以 ttfile://user 开头的用户目录下。
前提条件 | 无 |
业务背景 | 无 |
使用限制 | 无 |
注意事项 |
|
支持沙盒 | 否 |
相关教程 | 无 |
语法
tt.saveFile(options)
参数说明
options 为 object 类型,属性如下:
属性名 | 类型 | 默认值 | 必填 | 说明 | 最低支持版本 |
---|---|---|---|---|---|
filePath | string | 否 | 要存储的路径, 必须以 `ttfile://user` 开头 | 1.15.0 | |
tempFilePath | string | 是 | 文件临时路径 | 1.15.0 | |
success | function | 否 | 接口调用成功的回调函数 | 1.15.0 | |
fail | function | 否 | 接口调用失败的回调函数 | 1.15.0 | |
complete | function | 否 | 接口调用结束的回调函数(调用成功、失败都会执行) | 1.15.0 |
回调成功
object 类型,属性如下:
属性名 | 类型 | 说明 | 最低支持版本 |
---|---|---|---|
savedFilePath | string | 保存后文件路径 | 1.15.0 |
errMsg | string | "saveFile:ok" | 1.15.0 |
回调失败
object 类型,属性如下:
属性名 | 类型 | 说明 | 最低支持版本 |
---|---|---|---|
errMsg | string | "saveFile:fail " + 详细错误信息 | 1.15.0 |
错误码
errNo | errMsg | 说明 | 最低支持版本 |
---|---|---|---|
20000 | saveFile:fail params tempFilePath is invalid | tempFilePath 参数错误 | 1.99.0 |
21101 | saveFile:fail ermission denied, saveFile %s | 无操作权限(源文件路径不可读/目标存储路径不可写) | 1.99.0 |
21102 | saveFile:fail no uch ile or directory, saveFile %s | 源文件不存在或目标存储路径的父级目录不存在 | 1.99.0 |
21103 | saveFile:fail user dir aved file size limit exceeded | 超出目录大小限制 | 1.99.0 |
21105 | saveFile:fail permission denied, saveFile %s | 源路径不是文件类型 | 1.99.0 |
扫码体验
请使用字节宿主APP扫码
代码示例
<!-- index.ttml -->
<view class="container">
<button type="primary" bindtap="saveFile">保存临时文件到本地永久目录</button>
</view>
// index.js
const url =
"https://sf1-cdn-tos.douyinstatic.com/obj/microapp/frontend/download.png"
Page({
data: {
// tempFilePath: ""
},
saveFile() {
tt.downloadFile({
url,
success: (res) => {
console.log("临时文件下载成功,下载路径: " + res.tempFilePath)
tt.saveFile({
// 参数: 需传入文件临时路径tempFilePath
tempFilePath: res.tempFilePath,
success: (data) => {
// 返回参数中的savedFilePath属性为保存的本地文件路径
console.log("保存成功, 本地路径为: ", data.savedFilePath)
tt.showModal({
content: "临时文件保存成功",
showCancel: false,
})
},
fail: (res) => {
// 当 API 执行失败后调用, 预定义返回消息格式为${API_NAME}:fail
console.log("临时文件保存失败", res.errMsg)
tt.showModal({
content: "临时文件保存失败",
showCancel: false,
})
},
complete: (res) => {
// 当 API 执行完成(无论成功或者失败)后都会调用, 预定义返回消息格式为${API_NAME}:ok / fail
console.log("接口已调用", res.errMsg)
},
})
},
fail: (res) => {
console.log("下载失败: ", res.errMsg)
},
})
},
})
该文档是否有帮助?
点击纠错