小程序pc端图片上传没反应?

作者站长头像
站长
· 阅读数 8

手机端一切正常

使用Vant Weapp组件库(版本:"@vant/weapp": "^1.10.18")小程序pc端图片上传没反应?小程序pc端图片上传没反应?点击上传按钮,没反应,不输出11111111111111

点击删除,成功输出222222222小程序pc端图片上传没反应?小程序pc端图片上传没反应?


**补充····································································**我看了一下源码中的uploader组件的accept属性默认是image,所以默认调用的是wx.chooseMedia,我输出一下报错信息,在pc端调用上传就会报以下这个错:小程序pc端图片上传没反应?

再输出了一下源码中wx.chooseMedia的配置maxDuration(拍摄视频最长拍摄时间,单位秒。时间范围为 3s 至 60s 之间。不限制相册)的值:小程序pc端图片上传没反应?

去微信开放社区查看相应报错提问发现:小程序pc端图片上传没反应?

回复
1个回答
avatar
test
2024-07-02

看看 before-read 绑定的函数上做了什么业务处理。可能是没有通过 before-read 绑定的函数。


Edit

看了一下 VantWeappuploader 组件源码, 调用的是 chooseMediachooseMessageFile 的两个微信 API。如果没有指定 accept 属性的话,默认调用的是 wx.chooseMessageFile 这个API,但是微信PC端暂时还不支持这个API,不过 wx.chooseMedia 这个API是支持的,所以指定一下 accept="image" 看看是否可以实现图片上传功能。

相关阅读


Edit2

wx.chooseMedia 在文档上显示 maxDuration 属性支持范围是 3 ~ 60 秒,但实际PC端只支持 10 秒以内。但 vant-uploader 组件的 props 下来的 chooseMedia 预设值 设置了 maxDuration 的默认值为 60 了。所以手动绑定 <vant-uploader> 组件的 max-duration 属性值为 10 以内看看能否解决问题,也可以改源码但是不怎么建议。

相关阅读


Edit3

有其他小伙伴反馈在 Mac 平台使用 wx.chooseMedia 这个API会抛出 fail function cannot run on service 这样的异常。但是我这边并没有Mac,所以只能猜测是不是小程序的基础库版本太低 或者 微信客户端没跟新?

同时我也在微信社区刷到了类似的问题,官方回复是:

mac端目前暂不支持此功能。

但是同时文档上显示的,往回找了一下最近的更新历史都没有提什么时候支持的。

所以在没有办法的情况下只能兜底做一下兼容?如果不支持 wx.chooseMedia 就改用 wx.chooseImage,这样也许可以解决问题。

相关阅读chooseMedia在MAC系统中无法使用? | 微信开放社区

回复
likes
适合作为回答的
  • 经过验证的有效解决办法
  • 自己的经验指引,对解决问题有帮助
  • 遵循 Markdown 语法排版,代码语义正确
不该作为回答的
  • 询问内容细节或回复楼层
  • 与题目无关的内容
  • “赞”“顶”“同问”“看手册”“解决了没”等毫无意义的内容