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是根目录操作对象DirectoryEntryfobject.root.getFile(formatTime(new Date()) + '.txt', {create: true}, (fileEntry) => {fileEntry.file((file) => {console.log('file :>> ', file)// create a FileWriter to write to the filefileEntry.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:公共下载目录(通常对应系统 "下载" 文件夹
