保存文件

业务场景

提供渠道原生保存文件功能,可保存 base64,二进制,本地图片

使用范围:微信 | 支付宝 | 抖音

注意事项

  • encoding枚举值:ascii | base64 | binary | hex | utf-8 | utf8 | latin1
  • filePath是图片文件路径,可以是临时文件路径(如调用 wx.downloadFile 返回的路径)
    • type='image',会自动保存 filePath图片到相册
    • type='file'有值,会把 data的数据写入 filePath所在的位置
  • 这个过程中调用的剪贴板、保存相册的功能要去微信后台确认隐私协议是否有声明该权限,不然会调用失败

流程图

接口介绍

SDKManager.saveFile(SaveFileInfo info)

代码示例

// IOS支付二维码图片的保存
var params = {
	data: scanCodeImageUrl,  // 支付回调的二维码base64的数据
	type: 'pay_qrcode',
};
// 图片保存到相册
var params = {
	filePath: 'xxxxx', // 图片文件路径,可以是临时文件路径,也可以是永久文件路径
	type: 'image',
};
// 保存文件
var params = {
	filePath: '/file/fileName.text', // 要写入的文件路径, 一般以 `ttfile://user` 开头,没有SDK会补充到头部
	// filePath: 'ttfile://user/file/fileName.text', // 或者这样写
	data: 'xxxx', // 要写入的文本或二进制数据
	encoding: 'utf8' // 指定写入文件的字符编码
	type: 'file',
};
SDKManager.saveFile({
    ...params,
   onSuccess:() => {
	// 保存成功
   },
   onFailed: (errorInfo) => {
    //  保存失败
   },
});

参数说明

入参:SaveFileInfo info

参数名称类型说明必传/可选最低版本
datastring/ArrayBuffer要写入的文本或二进制数据可选
filePathString图片文件路径,可以是临时文件路径,不支持网络路径可选
encodingString写入当前文件的字符编码,默认是utf8可选
typeString不同场景的处理,参考下面说明可选

String params.type

枚举值说明
pay_qrcode支付地址二维码图片的 base64 数据,即 scanCodeImageUrl
image保存图片到相册
file保存文件