html5 调用微信jssdk 没有调用相机,只显示最近的图片文件。

发布于 2022-09-12 02:50:36 字数 1634 浏览 19 评论 0

如图所示,点击调用后
Screenshot_20200519_144738_com.android.documentsui.jpg

代码如下:

 ...mapActions([
      'shellGetImageAndUpload',
    ]),
    // 调用shell/xx 微信、企业微信等选择图片、上传、识别拿到数据,如果是从PC端打开则加载本地文件。
    getPaperInvoice(callback) {
      if (['wechat', 'wx'].includes(this.queryString.shell)) {
        this.shellGetImageAndUpload().then((data) => {
          this.handerOcrResult(data, callback);
        });
      } else {
        this.$refs.imageReader.$el.querySelector('input').click();
      }
    },

// 获取图片并上传

shellGetImageAndUpload({ state, dispatch }) {
  const { shell } = state.queryString;
  return new Promise((resolve) => {
    dispatch(`${shell}/chooseImage`).then((data) => {
      resolve(data);
    });
  });
},
chooseImage(context, callback) {
      wx.chooseImage({
        count: 1, // 默认9
        sizeType: ['original', 'compressed'], // 可以指定是原图还是压缩图,默认二者都有
        sourceType: ['album', 'camera'], // 可以指定来源是相册还是相机,默认二者都有
        defaultCameraMode: 'normal', // 表示进入拍照界面的默认模式,目前有normal与batch两种选择,normal表示普通单拍模式,batch表示连拍模式,不传该参数则为normal模式。(注:用户进入拍照界面仍然可自由切换两种模式)
        isSaveToAlbum: 1, // 整型值,0表示拍照时不保存到系统相册,1表示自动保存,默认值是1
        success(res) {
          const localIds = res.localIds; // 返回选定照片的本地ID列表,
          // andriod中localId可以作为img标签的src属性显示图片;
          // iOS应当使用 getLocalImgData 获取图片base64数据,从而用于img标签的显示(在img标签内使用 wx.chooseImage 的 localid 显示可能会不成功)
          callback(localIds);
        },
      });
    },

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

多孤肩上扛 2022-09-19 02:50:36

没有看到chooseImage被调用,
1)看下是否你手机禁止微信调用摄像头,
2)微信最新版本了吗,
3)换个别人的手机试下,看看是不是微信不支持你的手机。。
另附:我写这个的时候调用的很轻松,没有出现你这个问题

つ可否回来 2022-09-19 02:50:36

可以肯定的是 能够调用摄像头进行拍照的,我们之前的项目需求就是只能调用摄像头来拍照,而不能读取手机内存中的照片,需要用到JSSDK,这个在与服务端做签名认证的时候要麻烦点。需要多细心点。查看微信JSSDK 文档配置

wx.chooseImage({
count: 1, // 默认9
sizeType: [`'original',` `'compressed'],// 可以指定是原图还是压缩图,默认二者都有`
sourceType: [`'album',` `'camera'],// 可以指定来源是相册还是相机,默认二者都有`
success: function (res) {
var localIds = res.localIds; // 返回选定照片的本地ID列表,localId可以作为img标签的src属性显示图片
}
});

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文