filesystemmanager.savefile(object object)
基础库 或更高版本; 若版本较低,建议采取 兼容处理。
主体: 企业支付宝小程序 、 个人支付宝小程序
相关文档: my.downloadfile 、 本地临时文件 、 本地缓存文件 、 本地用户文件 、 filesystemmanager.removesavedfile
object object
查看示例
属性 | 类型 | 默认值 | 必填 | 描述 |
---|---|---|---|---|
tempfilepath | string | - | 是 | 要保存的 本地临时文件 路径 |
filepath | string | - | 否 | 指定文件保存后的 本地用户文件 路径,若不指定,则保存为 本地缓存文件 |
success | function | - | 否 | 调用成功的回调函数。 |
fail | function | - | 否 | 调用失败的回调函数。 |
complete | function | - | 否 | 调用结束的回调函数(调用成功、失败都会执行)。 |
success 回调函数
参数
object res
查看示例
属性 | 类型 | 描述 |
---|---|---|
savedfilepath | string | 存储后的文件路径。 |
fail 回调的参数为 object,error
属性为错误码,errormessage
属性为错误消息。
错误码 | 错误消息 | 凯发app官方网站的解决方案 |
---|---|---|
10022 | 指定文件不存在。 | 检查临时文件是否存在 |
10024 | 指定的路径没有写的权限。 | 检查是否有权限写入,参考入参描述。 |
10028 | 单个文件大小超出上限 10mb / 超出最大存储量 50mb。 | 支付宝客户端 10.3.80 以下版本会报此错,请提示用户更新支付宝客户端。 |
文件夹超过 200m | 请检查文件大小,本地用户文件 和 本地缓存文件 共计最多不超过 200m。 |
filesystemmanager.savefile(object object)
将选择的图片保存为本地用户文件
将下载后的本地临时文件保存为本地缓存文件
let fs = my.getfilesystemmanager();
fs.savefile({
tempfilepath: 'xxx', // 本地临时文件路径
filepath: `${my.env.user_data_path}/test.txt`,
success: function (res) {
console.log(res);
},
fail: function (err) {
console.log(err);
}
});
let fs = my.getfilesystemmanager();
my.chooseimage({
count: 1,
success(res) {
fs.savefile({
tempfilepath: res.apfilepaths[0],
filepath: `${my.env.user_data_path}/img.png`,
success: res1 => {
console.log(res1.savedfilepath);
},
});
},
});
let fs = my.getfilesystemmanager();
my.downloadfile({
url: 'https://img.alicdn.com/tfs/tb1x669sxxxxxbdafxxxxxxxxxx-520-280.jpg',
success({ apfilepath }) {
console.log(json.stringify(apfilepath))
fs.savefile({
tempfilepath: apfilepath,
success: (res1) => {
console.log(res1.savedfilepath)
}
})
},
fail(err) {
console.error('choosecity fail: ', json.stringify(err));
},
});
q:调用 filesystemmanager.savefile 保存成功之后,文件保存在哪里了,怎么可以找到?
a:
不论传入不传入 filepath,filesystemmanager.savefile 保存之后返回的路径都是虚拟路径,是支付宝 文件系统 中的文件,需要通过小程序内的 api 才能访问。如果是图片文件,可通过 my.saveimagetophotosalbum 保存到系统相册,然后可以到相册中找到,如果是一些其它类型文件,当前可以通过 my.opendocument 预览时在右上角菜单中“保存到手机”进行保存。