收藏
回答

小程序内嵌H5页面选择图片后返回的是临时路径,怎样获取图片信息?

下午好,

不是在小程序开发场景下,而是希望在内嵌的H5调用原生侧能力

调用的SDK:https://res.wx.qq.com/open/js/jweixin-1.6.0.js

1.该问题使用场景为微信小程序web-view内嵌的H5页面调起JSSDK中的chooseImage方法,但该方法返回的是临时路径只能本地查看,现在希望将该用户选择的本地图片提交到后台,请问如何获取图片信息呢?看到有一个getLocalImageData - 获取本地图片接口可以将localId转为base64信息,但其备注仅在iOS WK容器中支持,请问是否存在兼容性问题呢?

2.如果内嵌的H5页不调用JSSDK中的chooseImage方法,H5自行用原生实现调起拍照或从相册选择图片,是否支持呢?支持的话是否存在版本不兼容问题呢(网上看到有博客写到18年时原生做的input在微信中不能用)?

3.流程流转涉及downloadImage - 下载图片接口,文档表明该接口只接收localId图片,那么是否有其他方式提供在H5页面中下载网络图片(比方说传入url地址)到用户手机上呢?

参考文档:https://developers.weixin.qq.com/doc/offiaccount/OA_Web_Apps/JS-SDK.html#20


回答关注问题邀请回答
收藏

1 个回答

  • Mr.Zhao
    Mr.Zhao
    2021-03-22

    直接传mediaId给后台就行了

    2021-03-22
    有用 1
    回复 5
    • 团子大家族
      团子大家族
      2021-03-24
      嗯嗯 多谢 这是一种方式 但是涉及的改造比较多 请教下如果我想直接使用getLocalImgData方法转换localId获取图片的base64数据 这种方式可靠不
      2021-03-24
      回复
    • 团子大家族
      团子大家族
      2021-03-24
      另外还有一个方案想请教下 我希望通过canvas将图片绘制出来之后自己转图片数据 但目前尝试后发现安卓上可行,但iOS上canvas绘制空白,正常直接绘制网络图片是正常的,不清楚空白的原因。发现二者返回的临时路径不太一样,不知道是否和这个自定义协议头或者iOS新容器有关系呢?
      安卓:weixin://resourceid/123456...
      iOS:wxLocalResource://123456...
      2021-03-24
      回复
    • Mr.Zhao
      Mr.Zhao
      2021-03-24回复团子大家族
      传mediaId不就得了,没有兼容没问题,瞎折腾
      2021-03-24
      回复
    • 团子大家族
      团子大家族
      2021-03-24
      因为目前业务需要希望做的是针对多种小程序封装一层通用JS桥进行调用 使得H5能同时放到不同平台的小程序内使用 微信中实现的方式仅适用于微信小程序 其他平台目前没有类似的方式解决 所以希望使用canvas自己绘制后转出图片数据
      2021-03-24
      回复
    • 团子大家族
      团子大家族
      2021-03-24
      上面已经说了当前的业务使用场景,需要做的是抽离这部分能力。并不针对各个具体H5项目,如果要用mediaid方式改造,一个问题是现存h5项目太多,凡是涉及的项目都需要改造页面及相关接口;另一个问题也是最重要的,即其它小程序平台没办法支持。
      2021-03-24
      回复
登录 后发表内容
问题标签