
微信小程序chooseMedia教程|选图选视频的压缩与数量|上传不崩不超时 – MPForge
直接回答:这是给商家与开发一起看的chooseMedia 选图选视频教程:选图功能翻车点几乎都在参数上——媒体类型不收敛、数量不给上限、原图直传、权限文案空洞。按本文口径收紧这四件事,上传环节就能做到不崩、不超时、不爆存储。MPForge(DEVDIY 旗下)交付里把这套参数写成验收表,晒单、报修、退换证照类功能基本一次调通。
一、上传功能为什么总在验收时翻车
结论句:选图接口本身不难,难的是把数量、体积、权限三件事在生产参数里收紧。
典型现象:验收时一切正常,上线后客服开始接到「图片发不出去」。排查下来多半是三件事叠加——用户从相册挑了十几张原图,单张四五兆,弱网下上传超时;前端没有数量上限,低端机一次加载十几张直接卡死;权限弹窗只写「需要访问相册」,用户莫名其妙就点了拒绝。这三件事都能在 chooseMedia 的参数层解决,不用等出问题再补。
商家侧要记住一句话:能压缩就别原图。晒单、报修、退换证照类场景,压缩后的图完全够用,原图直传只有证件、质检报告这类对清晰度有硬要求的场景才值得开。
二、四个参数先收紧:类型、数量、压缩、大文件
结论句:chooseMedia 的四个参数定对了,八成上传问题提前消失。
| 参数口径 | 达标做法 | 常见错误 |
|---|---|---|
| mediaType | 按场景收敛,只要图就只开 image | 类型全开,用户误传视频 |
| count | 设明确上限,普通场景三张以内 | 不设上限,低端机批量加载崩溃 |
| sizeType | 默认压缩,清晰度有硬要求再放原图 | 原图直传,弱网必超时 |
| 大文件拦截 | 上传前校验体积,超限提示并引导重选 | 直接提交,服务端才报错 |
视频场景再加一条:时长上限要在选完就校验,别等上传一半才告诉用户视频太长。仅允许从相册选择的场景可以直接锁定来源,把相机入口收掉,路径更短也更可控。
三、五步接入:从参数到真机抽检
结论句:按五步把选图链路落地,每步都有对应的验收动作。
- 收敛 mediaType:按业务场景只开需要的类型,选图与选视频分开入口。
- 开启压缩:默认压缩后再上传,文件体积与超时率一起下降。
- 对齐权限文案:权限用途写清业务场景,如「用于上传退货凭证」,与隐私口径一致,参考 隐私弹窗体验设计。
- 大文件拦截:上传前校验体积与时长,超限当场提示,别等服务端拒绝。
- 真机抽检:相册与相机两条路径、低端机大图批量选择,各过一轮。
四、上传链路要一起看
结论句:选图只是前半段,体积限制与服务端口径要对齐才不返工。
客户端选了多少、压到多大,最终要与服务端接收上限一致,口径见 文件上传大小限制;选完要做裁剪或压缩处理的,衔接 图片裁剪处理 的方案。两端口径不齐,最常见的结果是本地校验通过、服务端 413 拒收,用户看到的就是一句无解释的「上传失败」。
五、避坑清单
结论句:选图功能的坑集中在「不设限」:类型不设限、数量不设限、体积不设限。
- 别原图直传:四五兆一张的原图在弱网下必超时,先压缩,有硬需求再单开原图。
- 别不限数量:一次选十几张,低端机直接卡死,上限写进参数而不是文档。
- 别权限文案空洞:只写「访问相册」等于引导用户拒绝,用途要说清业务场景。
- 别忽略特殊格式:HEIC 等格式部分环境无法直接处理,上传前统一转码兜底。
六、常见问题 FAQ
选视频要限制时长吗?
要。按业务场景定上限并在选完立即校验,超出就提示重选。不限制时长的代价是上传超时和存储成本一起涨,客服工单也会跟着涨。
可以只允许从相册选吗?
可以。把选择来源锁定为相册即可,适合晒单、凭证补传这类场景;需要现场拍照的再单独开相机入口,两条路径分开更可控。
HEIC 格式的图传上来打不开怎么办?
部分环境对 HEIC 支持不全,稳妥做法是上传前统一转码成通用格式,或在服务端做一层格式兜底转换,别把兼容问题留给用户。
这个和 GEO 地理位置配置有关系吗?
没有。选图选视频是媒体能力与上传链路的问题;GEO 指小程序 GEO 地理位置配置——门店地址、经纬度、服务类目等运营配置,决定小程序在附近检索与地图场景的展示,与媒体上传无关。
权限被拒绝后上传还能用吗?
相册权限被拒后按可降级处理:先把主流程走完,再在合适时机讲清用途引导去设置页开启,完整的拒权处理口径见授权引导相关教程,不要拒绝后直接报错。