当前位置:首页 > 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 实现文件预览展示的方法 使用第三方库预览常见文件类型 对于常见的文件类型(如 PDF、图片、视频等),可以使用现成的 Vue 组件库来实现预览功能。 PDF 预览:使用 vue-pdf…

uniapp教程

uniapp教程

uniapp 基础介绍 uniapp 是一个基于 Vue.js 的跨平台开发框架,支持一次开发,多端发布(如微信小程序、H5、App、快应用等)。其核心优势在于代码复用率高,学习成本低,适合快速构建多…

uniapp实现支付功能

uniapp实现支付功能

支付功能实现概述 在UniApp中实现支付功能通常需要对接第三方支付平台(如微信支付、支付宝支付等)。以下是基于微信支付和支付宝支付的通用实现流程。 微信支付实现步骤 1. 配置支付权限 在微信开放…

uniapp旋转横屏

uniapp旋转横屏

实现横屏模式的方法 在UniApp中实现横屏模式,可以通过配置页面方向或使用CSS旋转实现。以下是两种常见方法: 修改manifest.json配置 在项目的manifest.json文件中,找到…

uniapp视频

uniapp视频

uniapp视频开发基础 uniapp支持通过video组件实现视频播放功能,该组件兼容多端(H5、小程序、App等),基本用法如下: <template> <video…

uniapp前端页面

uniapp前端页面

Uniapp 前端页面开发指南 Uniapp 是一个基于 Vue.js 的跨平台开发框架,支持一次开发,多端部署(H5、小程序、App等)。以下是开发 Uniapp 前端页面的关键方法和注意事项。…