当前位置:首页 > uni-app

uniapp 文件读写

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

uniapp 文件读写方法

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

H5平台文件读写

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

// 选择文件
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:

// 写入文件
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:

uniapp 文件读写

// 选择文件
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中实现录音文件播放需要结合HTML5的Web Audio API或第三方库。以下是两种常见的方法: 使用HTML5 Audio元素 通过Vue动态绑定<aud…

uniapp请求超时处理

uniapp请求超时处理

uniapp请求超时处理方法 在uniapp中处理请求超时可以通过多种方式实现,以下是几种常见的处理策略: 设置全局请求超时时间 在main.js中配置全局请求超时时间,适用于所有请求: uni…

uniapp swiper禁止滑动

uniapp swiper禁止滑动

禁用 Swiper 滑动的方法 在 UniApp 中,可以通过设置 disableTouch 属性或动态绑定 touchable 属性来禁止 Swiper 组件的滑动行为。 方法一:通过 disab…

uniapp 用法

uniapp 用法

uniapp 基本概念 uniapp 是一个基于 Vue.js 的跨平台开发框架,支持编译到 iOS、Android、H5 及小程序等多端。其核心特点是“一次开发,多端发布”,通过条件编译实现平台差异…

uniapp营销

uniapp营销

营销策略 采用社交媒体推广,结合微信、微博、抖音等平台进行内容营销。通过短视频、直播等形式展示产品特点,吸引用户关注。利用KOL合作,扩大品牌影响力,提高用户信任度。 用户裂变 设计裂变活动,如邀请…

引擎uniapp

引擎uniapp

uniapp 引擎概述 uniapp 是一个基于 Vue.js 的跨平台开发框架,允许开发者使用单一代码库构建多端应用(如 iOS、Android、Web、小程序等)。其核心引擎通过条件编译和运行时适…