目前在做的一个项目是使用微信的jssdk选择或者拍摄图片然后上传到服务器,但是要求需要用户上传的图片尺寸不能超过5M,现在不知道如何通过微信的jssdk接口,知道图片的尺寸大小?
请求大伙支援!
目前在做的一个项目是使用微信的jssdk选择或者拍摄图片然后上传到服务器,但是要求需要用户上传的图片尺寸不能超过5M,现在不知道如何通过微信的jssdk接口,知道图片的尺寸大小?
请求大伙支援!
一般建议直接用原生的<input type='file'>
,微信那个接口其实挺难用的,还得先上传到微信那边再拉下来自己服务器,不如直接在前端用canvas压缩下然后直接传后台就行了,主要是去掉EXIF信息和统一格式。压缩可以用现成的库,可以避免踩判断照片方向的坑。
上传的这一步上控制不了的,因为你上传的图片是先到微信的服务器的,然后微信服务器返回你一个 serverId
即 media_id
,你在拿这个 serverId
去获取刚刚上传临时图片素材,这个时候是可以获取图片的大小的,在根据这个大小去提示用户的
这里我曾经做过两个场景
第一,直接在网页上传,因为安卓端不能多选文件上传,所以使用微信上传,这样就可以多选了,但是因为只有你提交了,服务端才会真正的获取到图片,这样就会有个滞后的效果,体验极差。当然也有一种就是你选择图片后,ajax直接传上传,再将服务端返回的图片地址置入表单,这样虽然不存在滞后,但是是否有浪费流量的嫌疑。
第二种就是让用户在公众号窗口内发送图片,然后获取图片,这样你就可以实时检测,然后返回提醒,应该算是一种完美的解决方案吧
5 回答4.9k 阅读✓ 已解决
4 回答3.2k 阅读✓ 已解决
2 回答4.8k 阅读✓ 已解决
4 回答4.4k 阅读✓ 已解决
4 回答1.9k 阅读✓ 已解决
2 回答2.7k 阅读✓ 已解决
2 回答2.6k 阅读✓ 已解决
微信选图片的时候可以设置选择压缩过的图上传