当前位置:首页 > uni-app

uniapp手机根目录

2026-03-05 12:04:37uni-app

uniapp手机根目录的获取方法

在uniapp开发中,获取手机根目录(即外部存储的根路径)需要使用特定API,不同平台(Android/iOS)的路径可能不同。

Android平台根目录路径 通过plus.io模块获取外部存储目录:

var rootPath = plus.android.invoke(plus.android.importClass("android.os.Environment"), "getExternalStorageDirectory");
console.log(rootPath); // 输出如:/storage/emulated/0

iOS平台根目录路径 iOS沙盒机制限制下,可通过以下方式获取Documents目录(近似根目录):

var rootPath = plus.ios.invoke(plus.ios.invoke("NSSearchPathForDirectoriesInDomains", 14, 1, true), "objectAtIndex", 0);
console.log(rootPath); // 输出如:/var/mobile/Containers/Data/Application/xxx/Documents

跨平台兼容方案 使用uniapp的uni.getFileSystemManager()实现统一访问:

const fs = uni.getFileSystemManager();
fs.readdir({
  dirPath: '/',
  success: (res) => {
    console.log('根目录内容:', res.files);
  }
});

注意事项

  • Android需在manifest.json中声明存储权限:
    "permission": {
    "android.permission.READ_EXTERNAL_STORAGE": {},
    "android.permission.WRITE_EXTERNAL_STORAGE": {}
    }
  • iOS无权限申请但只能访问沙盒内目录
  • 真机调试时Android 11+需适配Scoped Storage

常用文件操作API

读取目录内容

uni.getFileSystemManager().readdir({
  dirPath: '/storage/emulated/0',
  success: (res) => console.log(res)
});

写入文件示例

const filePath = '/storage/emulated/0/test.txt';
uni.getFileSystemManager().writeFile({
  filePath,
  data: 'Hello World',
  encoding: 'utf8',
  success: () => console.log('写入成功')
});

路径常量参考

  • Android外部存储:/storage/emulated/0
  • Android应用私有目录:/data/data/[package_name]
  • iOS Documents目录:/var/mobile/Containers/Data/Application/[UUID]/Documents

实际开发中建议使用plus.iouni.getFileSystemManager()进行跨平台文件操作,避免直接硬编码路径。

uniapp手机根目录

标签: 根目录手机
分享给朋友:

相关文章

H5手机端实现长截图

H5手机端实现长截图

实现H5手机端长截图的方法 使用html2canvas库 html2canvas是一个流行的JavaScript库,可以将网页内容渲染为Canvas图像。通过遍历页面所有元素,将其绘制到Canvas上…

vue实现手机app

vue实现手机app

Vue 实现手机 App 的常用方法 使用 Vue 开发手机 App 通常需要结合跨平台框架或原生封装技术,以下是几种主流方案: 使用 Capacitor 或 Cordova 封装 Capacit…

vue怎么实现手机端

vue怎么实现手机端

Vue 实现手机端开发的关键步骤 使用响应式布局 确保页面在不同尺寸设备上正常显示,可以采用 CSS 框架如 Bootstrap、Tailwind CSS 或手动编写媒体查询。Vue 的单文件组件(S…

vue怎么实现手机预览

vue怎么实现手机预览

Vue 项目实现手机预览的方法 使用本地开发服务器并绑定 IP 地址 启动 Vue 开发服务器时绑定到本地 IP 地址而非默认的 localhost。确保手机和电脑在同一局域网下,手机浏览器访问电脑的…

js实现手机滑动效果

js实现手机滑动效果

实现基础滑动效果 使用touchstart、touchmove和touchend事件监听触摸操作: let startX, moveX; const slider = document.query…

js实现手机

js实现手机

实现手机端功能的JavaScript方法 监听设备类型 通过navigator.userAgent检测用户设备是否为移动端: const isMobile = /Android|webOS|iPh…