uni-app uni.chooseVideo 选择500M的视频文件回调返回的信息视频大小错误

uni-app uni.chooseVideo 选择500M的视频文件回调返回的信息视频大小错误

开发环境 版本号 项目创建方式
Mac 10.15.7 HBuilderX

操作步骤:

  • hello uniapp 上面也是一样的错误

预期结果:

  • 返回真实的文件大小

实际结果:

  • 返回的信息错误

bug描述:

  • uni.chooseVideo 选择500M的视频文件,回调返回的信息视频大小错误
4 回复

upupup

更多关于uni-app uni.chooseVideo 选择500M的视频文件回调返回的信息视频大小错误的实战教程也可以访问 https://www.itying.com/category-93-b0.html


500M的视频上传都得很长时间吧,这有必要吗

只是想要获取当前视频的信息来判断,但是返回来的信息近似于原视频大小的十分之一(50M左右)

在uni-app中,uni.chooseVideo API返回的视频文件大小信息可能不准确,尤其是对于大文件(如500MB)。这通常是由于底层系统API的限制或实现差异导致的。在iOS和部分Android设备上,系统提供的文件元数据可能未实时更新或计算错误,导致返回的size字段与实际文件大小不符。

建议通过以下方式验证并获取准确的文件大小:

  1. 使用uni.getFileInfo方法,传入返回的tempFilePath,获取文件的真实大小。
  2. 在回调中手动检查文件属性,例如通过fs模块(如支持)计算大小。

示例代码:

uni.chooseVideo({
  success: (res) => {
    uni.getFileInfo({
      filePath: res.tempFilePath,
      success: (fileRes) => {
        console.log('真实文件大小:', fileRes.size);
      }
    });
  }
});
回到顶部