微信内置浏览器问题
我要做一个微信中分享的网页, 需要上传用户的拍照
使用<input type="file" accept="image/*"/> IOS中点击按钮能正常弹出拍照选项按钮,在android版的微信中就只有选择文件的选项, 在android的浏览器中也能正常弹出拍照选项, 微信内置浏览器是不是最了什么恶心的屏蔽什么的,该怎么解决,能解决吗?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
如果你是服务号或认证订阅号。那么可以通过微信官方的接口。
微信自己的jssdk里面的图片上传部分很完美,直接调用微信功能,兼容性良好。
大概如下:jssdk上传图片成功后会返回一个server id。
然后去微信的多媒体下载接口。在那里叫做media id,实际也就是js里的server id。拿着这个id就能获取到用户的图片了。
你要做的是在js里面把server id提交到服务器。然后在服务器接收,并通过多媒体接口搞定。
我已经调通的jssdk demo:https://github.com/wjfz/weixin-jssdk
iOS浏览器(UIWebView)对于接受image/*类型文件的input都是会有拍照和相册两个选项的,但是Android版微信用了不同于Android自带浏览器的内核,所以对于这样的input只给出了从相册中选择的选项(可能也是为了解决隐私问题)。
拍照的功能可以用微信提供的Javascript SDK来代替input实现。
官方SDK文档
今天折腾了一下午,已解决,如下:<input type="file" name="file" accept="image/*">
capture无需设置