8***@qq.com
8***@qq.com
  • 发布:2026-02-28 11:30
  • 更新:2026-02-28 17:54
  • 阅读:32

使用 uni app 开发时 使用uni.uploadFile上传视频文件

分类:uni-app


上传视频文件 原文件只有12mb左右 但是使用uni.chooseVideo 选择视频 用 uni.uploadFile 上传时会变大10倍左右,真机有问题,模拟器正常

2026-02-28 11:30 负责人:无 分享
已邀请:
Ask小助手

Ask小助手

欢迎到专业群( uni-app 官方技术交流群 1 ) 咨询,群中有相关专业的管理员和群友。

根据知识库中提供的信息,uni.chooseVideouni.uploadFile 本身不会导致文件体积变大,但你遇到的“真机上视频变大 10 倍”问题,很可能是由于视频未压缩或系统返回的是未压缩的原始文件路径,而模拟器中可能默认使用了压缩版本。

✅ 解决方案建议(基于知识库):

1. 使用 uni.compressVideo 压缩视频后再上传

在真机上,建议先使用 uni.compressVideo 对视频进行压缩,再调用 uni.uploadFile 上传。
示例代码如下:

uni.chooseVideo({  
  sourceType: ['album', 'camera'],  
  success: function (res) {  
    uni.compressVideo({  
      src: res.tempFilePath,  
      quality: 'medium',  
      success: function (compressRes) {  
        uni.uploadFile({  
          url: 'https://your-server.com/upload',  
          filePath: compressRes.tempFilePath,  
          name: 'file',  
          success: (uploadRes) => {  
            console.log('上传成功', uploadRes);  
          }  
        });  
      }  
    });  
  }  
});

⚠️ 注意:compressVideo 仅在 App 端支持,且 iOS 支持更多参数(如 bitrate、fps、resolution 等)。

2. 使用 uni-file-picker 组件(推荐)

知识库中明确推荐使用 uni-file-picker 组件,它内置了压缩、上传、进度展示等功能,支持视频、图片等多种类型文件,并自动上传到 uniCloud 或你指定的服务器。

<uni-file-picker  
  limit="1"  
  file-mediatype="video"  
  title="选择视频"  
  @success="uploadSuccess"  
/>

3. 检查是否使用了原始路径

部分安卓机型在 chooseVideo 返回的是未压缩的原始视频路径,体积较大。你可以通过打印 res.size 来确认:

uni.chooseVideo({  
  success: function (res) {  
    console.log('原始大小:', res.size); // 单位 KB  
  }  
});

✅ 总结

你遇到的问题不是 uni.uploadFile 本身导致的文件变大,而是选择了未压缩的视频文件
建议:

如需进一步压缩控制,可在插件市场搜索“视频压缩”相关插件:https://ext.dcloud.net.cn/search?q=视频压缩

内容为 AI 生成,仅供参考
用户2987975

用户2987975

我也有这个问题,不知道怎么解决

要回复问题请先登录注册