微信内置浏览器问题


我要做一个微信中分享的网页, 需要上传用户的拍照
使用<input type="file" accept="image/*"/> IOS中点击按钮能正常弹出拍照选项按钮,在android版的微信中就只有选择文件的选项, 在android的浏览器中也能正常弹出拍照选项, 微信内置浏览器是不是最了什么恶心的屏蔽什么的,该怎么解决,能解决吗?

HTML 微信分享

ZHD12 10 years, 7 months ago

iOS浏览器(UIWebView)对于接受image/*类型文件的input都是会有拍照和相册两个选项的,但是Android版微信用了不同于Android自带浏览器的内核,所以对于这样的input只给出了从相册中选择的选项(可能也是为了解决隐私问题)。

拍照的功能可以用微信提供的Javascript SDK来代替input实现。
官方SDK文档

hanjian answered 10 years, 7 months ago

如果你是服务号或认证订阅号。那么可以通过微信官方的接口。

微信自己的jssdk里面的图片上传部分很完美,直接调用微信功能,兼容性良好。

大概如下:jssdk上传图片成功后会返回一个server id。
然后去微信的多媒体下载接口。在那里叫做media id,实际也就是js里的server id。拿着这个id就能获取到用户的图片了。

你要做的是在js里面把server id提交到服务器。然后在服务器接收,并通过多媒体接口搞定。

我已经调通的jssdk demo: https://github.com/wjfz/weixin-jssdk

浣熊的毛尾巴 answered 10 years, 7 months ago

Your Answer