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

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日