当前位置:首页 > uni-app

uniapp 文件读写

2026-02-06 00:00:22uni-app

uniapp 文件读写方法

在uniapp中,文件读写操作可以通过H5、App、小程序等不同平台的API实现。以下是具体实现方式:

H5平台文件读写

H5平台可以使用HTML5的File API进行文件操作:

uniapp 文件读写

// 选择文件
const input = document.createElement('input')
input.type = 'file'
input.onchange = e => {
  const file = e.target.files[0]
  const reader = new FileReader()
  reader.onload = event => {
    console.log(event.target.result) // 文件内容
  }
  reader.readAsText(file) // 读取为文本
}
input.click()

App平台文件读写

App端需要使用uni-app扩展API:

uniapp 文件读写

// 写入文件
uni.downloadFile({
  url: 'http://example.com/file.txt',
  success: res => {
    uni.saveFile({
      tempFilePath: res.tempFilePath,
      success: savedRes => {
        console.log(savedRes.savedFilePath) // 保存路径
      }
    })
  }
})

// 读取文件
uni.getFileSystemManager().readFile({
  filePath: 'filePath',
  encoding: 'utf8',
  success: res => {
    console.log(res.data) // 文件内容
  }
})

微信小程序文件读写

微信小程序有自己的一套文件系统API:

// 写入文件
wx.downloadFile({
  url: 'http://example.com/file.txt',
  success: res => {
    wx.saveFile({
      tempFilePath: res.tempFilePath,
      success: savedRes => {
        console.log(savedRes.savedFilePath)
      }
    })
  }
})

// 读取文件
wx.getFileSystemManager().readFile({
  filePath: 'filePath',
  encoding: 'utf8',
  success: res => {
    console.log(res.data)
  }
})

通用文件操作

对于跨平台文件操作,可以使用uni-app的API:

// 选择文件
uni.chooseFile({
  count: 1,
  success: res => {
    const tempFilePaths = res.tempFilePaths
    uni.getFileSystemManager().readFile({
      filePath: tempFilePaths[0],
      encoding: 'utf8',
      success: readRes => {
        console.log(readRes.data)
      }
    })
  }
})

// 保存文件到本地
uni.saveFile({
  tempFilePath: 'tempFilePath',
  success: res => {
    console.log(res.savedFilePath)
  }
})

注意事项

  1. 不同平台的文件系统权限不同,iOS和Android可能有差异
  2. 小程序环境对文件系统访问有较多限制
  3. 持久化存储建议使用uni.setStorage/uni.getStorage
  4. 大文件操作需要考虑性能问题

以上方法涵盖了uniapp在主要平台上的文件读写操作,开发者可根据具体需求选择合适的方式。

标签: 文件uniapp
分享给朋友:

相关文章

vue实现文件的上传

vue实现文件的上传

文件上传的基本实现 在Vue中实现文件上传通常结合HTML的<input type="file">元素和FormData对象。通过监听文件选择事件获取文件对象,再通过AJAX或axios发…

jquery文件

jquery文件

jQuery文件获取与使用 jQuery是一个快速、简洁的JavaScript库,简化了HTML文档遍历、事件处理、动画和Ajax交互。以下是获取和使用jQuery文件的方法。 下载jQuery文件…

uniapp多环境配置

uniapp多环境配置

多环境配置的必要性 在UniApp开发中,多环境配置能有效区分开发、测试、生产等不同环境的API地址、密钥等参数,避免手动修改代码导致的错误。 创建环境配置文件 在项目根目录下创建env.js或co…

uniapp中如何引用echarts

uniapp中如何引用echarts

在uniapp中引用echarts uniapp中引用echarts可以通过原生方式或第三方插件实现,以下是具体方法: 使用原生echarts 安装echarts依赖 在项目根目录下执行命令:…

uniapp 目录

uniapp 目录

uniapp 目录结构 uniapp 的目录结构遵循 Vue.js 项目的规范,同时包含一些特有的文件和目录。以下是典型的 uniapp 项目目录结构及其说明: project-name/ ├──…

uniapp 编辑

uniapp 编辑

uniapp 编辑功能实现方法 在uniapp中实现编辑功能通常涉及表单处理、数据绑定和状态管理。以下为常见实现方式: 表单数据双向绑定 使用v-model指令实现表单元素与数据的双向绑定: &l…