FileSystemManager.saveFile
收藏
我的收藏

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

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

前提条件
业务背景
使用限制
注意事项
  • Tip:该 API 会把临时文件 移动 到用户目录, 所以在调用成功后原文件路径将访问失败;
  • Tip:每个小程序的用户目录存储上限为 10M,不同小程序的用户目录相互隔离;
  • Tip:卸载宿主(例如头条, 抖音), 或者使用系统的清理功能将清除用户目录内的文件;
  • Tip:通过 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说明最低支持版本
106901permission denied, %s %sD
没有权限

请查看path参数是否正确

1.15.0
106902no such file or directory, %s %sD
目标路径目录不存在

请查看path参数是否正确

1.15.0
106903user dir saved file size limit exceededD
用户文件夹超过大小限制

确认已保存文件大小

1.15.0
106905operation not permitted, %s %sD
目标路径不是目录

请查看path参数是否正确

1.15.0
106991sandbox is nilF
小程序框架内部错误,有需要请创建工单咨询
1.15.0
106991operation failF
小程序框架内部错误,有需要请创建工单咨询
1.15.0
106999params tempFilePath is requiredD
tempFilePath是必传值

请查看tempFilePath参数是否正确

1.15.0
106999params tempFilePath is invalidD
tempFilePath是必传值

请查看tempFilePath参数是否正确

1.15.0

扫码体验

请使用字节宿主APP扫码

代码示例

开发者工具中预览

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) }, }) }