iPad 通过OTG读取 U盘/硬盘 没有反应的解决方案

文章讲述了在iOS13及以上版本的iPad上使用OTG转接线插入U盘时,由于文件系统不兼容(仅支持FAT32和exFAT),可能导致文件APP无法识别NTFS格式的U盘。解决方法是将NTFS格式U盘格式化为兼容格式,并提示用户在外置供电下,iPad2018能读取大容量机械硬盘。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

iPad(iOS13或以上)通过OTG转接线插上U盘后,文件APP里没有反应,问题大概率出在U盘的文件系统不对,iOS仅支持 FAT32 和 exFAT 格式,并不支持NTFS格式。如果你的U盘是NTFS格式,可以在电脑上重新格式化为FAT32 和 exFAT格式,插回iPad后文件系统里就会出现U盘了。

注意,如果选择exFAT格式,在格式化时“分配单元大小”选项仅可选择1024kB及以下,格式化前需要注意备份  U盘/硬盘 中的内容。

实测,如果配有外置供电,iPad 2018可以正常读取1TB、3.5寸的机械硬盘。

小程序可以通过调用微信开发者工具提供的API wx.getFileSystemManager()来读取连接在手机上的OTG设备(包括U)里面的数据。具体步骤如下: 1. 创建一个wx.getFileSystemManager()实例。 2. 调用该实例的access()方法,传入要读取OTG设备路径作为参数,该方法将返回一个成功或失败的Promise。 3. 判断access()方法返回的Promise是否成功,如果成功则说明OTG设备已经连接并可以被读取。 4. 调用该实例的readdirSync()方法,传入要读取的U路径作为参数,该方法将返回一个包含U下所有文件和子文件夹的数组。 5. 遍历该数组,可以通过判断每个元素的isDirectory属性来判断该元素是文件还是文件夹,进而进行不同的操作。 需要注意的是,在使用小程序读取U数据之前,需要先让用户授权小程序访问存储空间。用户首次连接OTG设备时,微信会弹出授权提示框,用户需要点击同意才能让小程序访问OTG设备。 以下是一个示例代码,演示如何使用小程序的API读取U里面的数据: ``` // 获取文件系统管理器实例 const fsManager = wx.getFileSystemManager(); // 访问OTG设备 const devicePath = "/sdcard"; // 假设OTG设备路径是/sdcard fsManager.access({ path: devicePath, success: () => { // 读取U数据 const usbPath = devicePath + "/usb001"; // 假设U挂载在/usb001目录下 const files = fsManager.readdirSync(usbPath); // 遍历U中的文件和子文件夹 for (let i = 0; i < files.length; i++) { const filePath = usbPath + "/" + files[i]; const stat = fsManager.statSync(filePath); if (stat.isDirectory()) { // 如果是子文件夹,进行相应操作 console.log("Found a subfolder: " + files[i]); } else { // 如果是文件,进行相应操作 console.log("Found a file: " + files[i]); } } }, fail: (err) => { // 访问OTG设备失败,进行相应操作 console.log("Failed to access the OTG device: " + err.errMsg); } }); ``` 以上代码示例中,首先通过调用`wx.getFileSystemManager()`方法获取文件系统管理器实例,然后调用`fsManager.access()`方法访问OTG设备,判断设备是否已经连接并可以被读取。如果访问成功,则通过调用`fsManager.readdirSync()`方法读取U下的所有文件和子文件夹。之后遍历文件夹中的元素,通过判断每个元素的isDirectory属性来进行不同的操作。如果访问OTG设备失败,则进行相应的错误处理。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值