uni-app H5上传图片过大失败

在uni-app中遇到H5上传图片时,由于图片过大导致上传失败。经过排查,确定问题在于服务器限制了文件大小。为解决此问题,采用compressImage.js工具进行图片压缩。通过canvas等比缩放原图后再压缩,既能满足上传需求,又能保持较好的画质。
摘要由CSDN通过智能技术生成

初始代码如下:

//拍照或选择相册图片
function scanPicture() {
    uni.chooseImage({
      count: 1,
      sourceType: ['album', 'camera'], //album 从相册选择  camera相机选择
      success: function(res) {
        imageData.value = res.tempFiles[0] //页面显示图片
        uploadFile(res.tempFilePaths[0])
      }
    })
}

 // 上传文件
  function uploadFile(filePath) {
    uni.uploadFile({
      //import.meta.env.VITE_PROXY_TARGET为项目接口调用地址
      url: import.meta.env.VITE_PROXY_TARGET + '/goods/product_pic',
      filePath: filePath,
      name: 'file',
      fileType: 'image',
      header: {
        Authorization: 'Bearer ' + getToken()
      },
      success: (uploadFileRes) => {
        const data = JSON.parse(uploadFileRes.data)
        imageUrl.value = data.data.path //上传成功后端返回的图片地址
      },
      fail: (err) => {
        uni.showToast({
          title: '上传失败',
          icon: 'error'
        })
      }
    })
  }

当如上编辑代码后,上传图片后一开始在电脑上试了上传都没问题,然后手机上试上传时选图片上传正常,拍照上传时提示没有图片地址,所以一开始就以为是选择相册可以,拍照上传不行,就误以为是什么兼容性的问题,后来测试说她上传也有失败的,并且有的可以有的不行,所以排除了方式问题,我就开始调试图片,发现失败时上传文件的api都没有进入fail回调里,就很奇怪,最后找后端看了下发现是,服务器限制了上传文件大小,是因为图片过大的问题。

 

好了,现在找到了问题就可以对症下药了,文件过大,那就压缩一下再上传咯

首先百度了,参考了文章uniapp h5拍照上传照片_uniapp拍照上传_peuy的博客-CSD

uni-app 是一种基于 Vue.js 的跨平台应用框架,它能够帮助开发者通过编写一次代码即可发布到包括微信小程序、支付宝小程序、百度智能云等在内的多种移动平台上。uni-appH5播放器组件允许开发者轻松地在应用程序中嵌入音频或视频播放功能。 ### uni-app H5 播放器的基本组成部分: 1. **音频组件**: 支持基本的音量调节、暂停、继续播放、上一首、下一首等功能,并提供API供自定义播放行为。 2. **视频组件**: 提供了播放、暂停、全屏显示、上下左右滑动控制进度等功能。支持多种视频格式,如 MP4 等,并且可以添加字幕文件。 3. **音频和视频控制界面**: 自带简洁美观的播放控件设计,也可以通过配置选项定制播放器外观。 4. **事件处理**: 提供了一系列事件回调机制,便于监听用户操作,如播放完成、暂停、错误发生等。 ### 使用步骤: 1. **安装 uni-app**:首先需要下载并安装 uni-app 开发环境及配套工具。 2. **引入播放器组件**: 在项目中引入所需的音频或视频播放器组件。通常 uni-app 已内置这些组件,只需按需导入即可。 3. **创建播放器实例**: 初始化播放器,指定播放资源、是否自动播放、初始音量等参数。 4. **集成到页面中**: 将播放器组件插入到需要展示音乐或视频的页面模板中。 5. **处理用户交互**: 配置事件监听函数,以便对用户的点击、拖拽、触控等操作做出响应。 6. **调试与优化**: 测试播放器的各项功能,检查性能和兼容性,针对不同设备进行适配调整。 ### 相关问题: 1. 如何在uni-app中自定义H5播放器的样式? 2. uni-app H5播放器如何处理流式音频/视频数据? 3. 当在不同环境下运行应用时,uni-app H5播放器会遇到哪些常见的兼容性问题?
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值