uniapp在app中如何将json以文件格式存到本地(vue3)
·
1、template中写个存储的按钮
<button @click="fileWriter">存储</button>
2、通过plus.io获取文件路径
const fileWriter = () => {
// 请求本地系统文件对象 plus.io.PRIVATE_WWW:应用运行资源目录常量
plus.io.requestFileSystem(plus.io.PRIVATE_DOC, (fobject) => {
// fs.root是根目录操作对象DirectoryEntry
fobject.root.getFile(formatTime(new Date()) + '.txt', {
create: true
}, (fileEntry) => {
fileEntry.file((file) => {
console.log('file :>> ', file)
// create a FileWriter to write to the file
fileEntry.createWriter((writer) => {
console.log('writer :>> ', writer)
// Write data to file.
// 返回页面的数据
writer.seek(file.size)
// 写入可以加入需要写入的数据
let content = "{points:" + JSON.stringify(polyline.value[0].points) + ",pointArr:" + JSON.stringify(pointArr.value)+ "}"
writer.write(content)
const fileReader = new plus.io.FileReader()
fileReader.readAsText(file, 'utf-8')
fileReader.onloadend = (evt) => {
console.log('evt :>> ', evt)
}
console.log('file info :>> ', file)
// 获取对象
plus.io.resolveLocalFileSystemURL(file.fullPath, (res) => {
res.file((localFile) => {
const localFilePath = localFile.fullPath; // 本地文件路径
console.log("localFilePath :>> ", localFilePath)
// 直接保存并打开本地文件
uni.openDocument({
filePath: localFilePath,
success: () => console.log('打开成功')
});
});
})
}, (e) => {
console.log('e :>> ', e)
})
})
})
})
}
注:
plus.io.PRIVATE_DOC:应用私有文档目录(默认使用的目录)plus.io.PRIVATE_CACHE:应用私有缓存目录plus.io.PUBLIC_DOCUMENTS:公共文档目录(可被其他应用访问)plus.io.PUBLIC_DOWNLOADS:公共下载目录(通常对应系统 "下载" 文件夹
更多推荐



所有评论(0)