开发者社区
社区提问意见反馈
开发者钉组织
扫描二维码
加入支付宝开发者钉组织
基础 api
基础
应用级事件
界面
跳转
多媒体
缓存
文件
filesystemmanager
文件读写
文件保存
缓存文件管理
目录操作
文件重命名
文件删除
文件存在判断
文件信息
文件解压
stats
旧版接口(停止更新)
位置
网络
设备
worker
数据安全
分享
收藏
自定义通用菜单
更新管理
web-view组件控制
升级支付宝最新版本
隐私信息授权
小程序广告
开放能力 api
开发 > api > 基础 api > 文件 > filesystemmanager > 文件保存 > filesystemmanager.savefile
评论
收藏
我的文档
设置

filesystemmanager.savefile(object object)

基础库  或更高版本; 若版本较低,建议采取 兼容处理

主体: 企业支付宝小程序个人支付宝小程序

相关文档: my.downloadfile本地临时文件本地缓存文件本地用户文件filesystemmanager.removesavedfile

filesystemmanager.savefile 用于保存临时文件。

如果指定存储的文件路径(filepath),则保存为 本地用户文件,否则保存为 本地缓存文件

object object

查看示例
属性类型默认值必填描述
tempfilepathstring-要保存的 本地临时文件 路径
filepathstring-指定文件保存后的 本地用户文件 路径,若不指定,则保存为 本地缓存文件
successfunction-调用成功的回调函数。
failfunction-调用失败的回调函数。
completefunction-调用结束的回调函数(调用成功、失败都会执行)。

success 回调函数

参数

object res

查看示例
属性类型描述
savedfilepathstring存储后的文件路径。

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 预览时在右上角菜单中“保存到手机”进行保存。

内容没有解决您的问题?您还可以前往 或 寻求帮助
凯发k8官方网娱乐官方 copyright © 2022 支付宝(杭州)信息技术有限公司  | icp证浙b2-20160559
该文档对你是否有帮助?
当前页面目录
网站地图