Smile_ping 2024-07-24 14:43 采纳率: 0%
浏览 4

uniapp iOS设备使用plus.io.requestFileSystem无法读取文件大小?

遇到问题:uniapp iOS设备读取bin文件,size一直为0。

期望结果:希望iOS能正常读取文件数据大小。

代码

// 相关的目录常量均切换也不行。
plus.io.requestFileSystem(plus.io.PRIVATE_DOC, (fs) => {
  fs.root.getFile(filePath, {
    create: true
  }, (fileEntry) => {
    fileEntry.file((file) => {
    console.log('获取文件数据对象:', file);
    })
  })
})

控制台输出结果


{
    "size": 0,
    "type": "application/macbinary",
    "name": "M-445-XXX-S1.0.44-H1.bin",
    "lastModifiedDate": "2024-06-14T08:39:07.022Z",
    "fullPath": "xxx/static/M-445-XXX-S1.0.44-H1.bin"
}
  • 写回答

3条回答 默认 最新

  • 专家-赤兔[在线] 全栈领域优质创作者 2024-07-24 14:43
    关注

    引自免费微信小程序:皆我百晓生

    你的问题是在使用uniapp开发iOS应用时,通过plus.io.requestFileSystem方法读取的文件大小始终为0。首先,我想确认一下你的文件路径是否正确,以及文件是否真的存在于该路径下。其次,让我们尝试以不同的方式获取文件大小。

    这是一个可能的解决方案,你可以尝试使用plus.io的getFile方法获取文件信息,包括文件大小。以下是示例代码:

    plus.io.requestFileSystem(plus.io.PRIVATE_DOC, (fs) => {
      fs.root.getFile(filePath, {create: false}, (fileEntry) => {
        if (fileEntry) { // 文件存在
          fileEntry.getFileInfo((fileInfo) => {
            console.log('文件大小:', fileInfo.size); // 单位是字节
            console.log('文件类型:', fileInfo.type); // 文件类型
            console.log('文件名:', fileInfo.name); // 文件名
            console.log('文件路径:', fileInfo.fullPath); // 文件路径
          });
        } else { // 文件不存在或发生错误
          console.log('文件不存在或发生错误');
        }
      });
    });
    

    在这段代码中,我使用了fileEntry.getFileInfo方法来获取文件信息,包括文件大小。这样应该能在iOS设备上正确读取到文件大小。另外,也需要注意确认文件确实存在于你提供的路径下。如果文件不存在或者路径错误,那么这段代码将输出一个错误信息提示你。另外也要确认你使用的设备支持你所用的API接口,以及应用的权限设置是否允许访问文件系统。

    评论 编辑记录

报告相同问题?

问题事件

  • 创建了问题 7月24日

悬赏问题

  • ¥15 Pyqt 如何正确的关掉Qthread,并且释放其中的锁?
  • ¥30 网站服务器通过node.js部署了一个项目!前端访问失败
  • ¥15 WPS访问权限不足怎么解决
  • ¥15 java幂等控制问题
  • ¥15 海湾GST-DJ-N500
  • ¥15 氧化掩蔽层与注入条件关系
  • ¥15 Django DRF 如何反序列化得到Python对象类型数据
  • ¥15 多数据源与Hystrix的冲突
  • ¥15 如何在线硕士了解,广告太多,希望有真实接触过的人回答下?(标签-学习|关键词-在线硕士)
  • ¥15 zabbix6.4与frp如何进行联动