微信小程序 — 保存文件到本地的两种方式
第一种:wx.saveFile(Object object)保存文件到本地。
注意:saveFile 会把临时文件移动,因此调用成功后传入的 tempFilePath 将不可用,本地文件存储的大小限制为 10M
wx.chooseImage({
success: function(res) {
const tempFilePaths = res.tempFilePaths
wx.saveFile({
tempFilePath: tempFilePaths[0],
success (res) {
const savedFilePath = res.savedFilePath
}
})
}
})
第二种:FileSystemManager.saveFile(Object object)
保存临时文件到本地。此接口会移动临时文件,因此调用成功后,tempFilePath 将不可用。
此方法存储可以自己定义目录,可以实现需要分账号角色存储的功能。
/* 保存图片 */
save_photo: function () {
const fs = wx.getFileSystemManager()
var isExist = false; //目录是否存在
var that = this;
// 同步接口
try {
fs.accessSync(`${wx.env.USER_DATA_PATH}/photoinvoice/1553115`)
isExist = true;
} catch (e) {
// console.error(e)
}
if (isExist != true) {
// 同步接口,创建目录
try {
fs.mkdirSync(`${wx.env.USER_DATA_PATH}/photoinvoice/1553115`, true)
} catch (e) {
console.error(e)
}
}
// console.log(`${wx.env.USER_DATA_PATH}/photoinvoice/1553114`)
console.log(that.data.src)
wx.getImageInfo({
src: this.data.src,
success: function (res) {
var path = res.path;
console.log("path:" + path) //wxfile://te6786958409efjje46546i5.jpg
//下面获取图片名te6786958409efjje46546i5.jpg
var startPos = path.lastIndexOf("//");
console.log(startPos)
var picName = path.slice(startPos + 2, path.length); //加2是为了从//后面截取。所以+2,把//过滤掉
console.log(picName)
fs.saveFile({
tempFilePath: path,
filePath: `${wx.env.USER_DATA_PATH}/photoinvoice/1553115/${picName}`, //保存的时候必须跟上路径和文件名
success: function (res) {
console.log("保存成功")
console.log(res)
},
fail: function (res) {
console.log("保存失败")
console.log(res)
}
})
}
})
},
随便看看
- 2025-06-21 08:34:49野格是什么酒(野格叫什么酒)
- 2025-09-06 10:54:54[科普中国]-蝎子
- 2025-09-21 23:07:03【唱吧手机】唱吧手机哪款好?看实拍,买好货!
- 2025-05-09 12:55:57汉字韗是什么意思-韗的汉字解释-相关组词-词语-近音词-同音词
- 2025-06-19 00:57:04NPU 是什么芯片 AI芯片都有哪些
- 2025-05-06 15:40:19带马字的成语
- 2025-08-18 12:24:22从零基础到学会网站制作需要多久
- 2025-09-24 12:35:04甄嬛传:甄嬛为什么杀雍正?并不是为果郡王复仇,原因这个女人懂
- 2025-07-29 01:26:31服务器存储技术概述
- 2025-08-31 06:09:58都发售一年半了!AMD RX 6900 XT公版才降至首发价
