uni-app 微信浏览器内ios选择视频被自动压缩了

uni-app 微信浏览器内ios选择视频被自动压缩了

示例代码:

uni.chooseVideo({  
    sourceType: ['album'],  
    compressed: false,  
    success: (res) => {  
        console.log("【成功】选择结果:", res);  
        if (res.size > maxBit) {  
            reject("文件不能超过30M");  
        } else {  
            resolve(res);  
        }  
    },  
    fail: (err) => {  
        console.log("【失败】",err);  
        if(err.errMsg.indexOf('cancel') !== -1){  

        } else {  
            reject(err);  
        }  
    }  
});

操作步骤:

选择视频然后上传,设置不压缩了还是被自动压缩了

预期结果:

选择的视频不被压缩

实际结果:

视频被自动压缩了

bug描述:

代码已经设置compressedfalse,iOS还是会自动压缩视频。

Image

cd017f62fe75684c2b8dc1189982f45a.zip

6 回复

看别人发的帖子说alpha版本已经修复了,结果bug还是存在,希望尽快修复


compressed 仅支持微信小程序、百度小程序、字节跳动小程序、飞书小程序、京东小程序、App,平台差异说明

既然H5不支持,compressed这个参数默认值是true,那就应该是所有都自动压缩。 而我测试的是只有ios上传会压缩,安卓和pc都不会,感觉有点说不通。

回复 8***@qq.com: 浏览器(webview)的文件选择器实现者(微信)的压缩的,可以尝试使用微信 jssdk 内的同类 API 进行配置。

回复 DCloud_UNI_GSQ: 这个上传自动压缩的问题还是存在,方便加个联系方式吗

uni-app 中,当你在微信浏览器内使用 iOS 设备选择视频时,可能会遇到视频被自动压缩的问题。这是由于微信浏览器在 iOS 上的一些限制和处理机制所导致的。

问题原因

微信浏览器在 iOS 上会对用户选择的视频进行自动压缩,以减少上传流量和提高用户体验。这种行为是微信内置的处理机制,开发者无法直接控制。

解决方案

虽然无法完全避免微信浏览器的自动压缩,但可以尝试以下方法来减少影响:

  1. 使用原生 H5 文件选择控件
    uni-app 中,确保使用了标准的 <input type="file"> 控件来选择视频文件。微信浏览器会根据其内置逻辑处理文件。

    <input type="file" accept="video/*" [@change](/user/change)="handleFileChange" />
  2. 压缩后处理
    如果视频被压缩,可以在上传到服务器后,通过后端服务对视频进行进一步处理或恢复质量。

  3. 使用原生插件
    如果需要更高的控制权,可以考虑使用 uni-app 的原生插件能力,调用 iOS 的原生 API 来选择视频文件。这样可能会绕过微信浏览器的限制。

  4. 引导用户使用其他浏览器
    如果视频质量对应用至关重要,可以提示用户使用其他浏览器(如 Safari)来上传视频。

  5. 微信小程序替代
    如果应用场景允许,考虑将功能迁移到微信小程序中。微信小程序对文件上传有更好的控制能力,可以避免部分限制。

代码示例

以下是一个简单的文件选择示例:

<template>
  <view>
    <input type="file" accept="video/*" [@change](/user/change)="handleFileChange" />
  </view>
</template>

<script>
export default {
  methods: {
    handleFileChange(event) {
      const file = event.target.files[0];
      if (file) {
        console.log("Selected file:", file);
        // 处理文件上传逻辑
      }
    },
  },
};
</script>
回到顶部
AI 助手
你好,我是IT营的 AI 助手
您可以尝试点击下方的快捷入口开启体验!