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:公共下载目录(通常对应系统 "下载" 文件夹
Logo

Agent 垂直技术社区,欢迎活跃、内容共建。

更多推荐