tnblog
首页
视频
资源
登录

微信JSSDK使用图像接口

6086人阅读 2020/4/2 11:30 总访问:226848 评论:0 收藏:0 手机
分类: .NET


1,拍照或从手机相册中选图接口


调用接口之前需通过config接口注入权限验证配置


注入详情查看上一篇 https://www.tnblog.net/15736469932/article/details/3428

拍照或从手机相册中选图接口

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

注:此接口安卓和IOS无法通过ID预览图片(官方解释安卓有时候会这样)下面会详细介绍方法 


上传图片接口

wx.uploadImage({
  localId: '', // 需要上传的图片的本地ID,由chooseImage接口获得
  isShowProgressTips: 1, // 默认为1,显示进度提示
  success: function (res) {
    var serverId = res.serverId; // 返回图片的服务器端ID
  }});

备注:上传图片有效期3天,可用微信多媒体接口下载图片到自己的服务器,此处获得的 serverId 即 media_id。

下载图片接口

wx.downloadImage({
  serverId: '', // 需要下载的图片的服务器端ID,由uploadImage接口获得
  isShowProgressTips: 1, // 默认为1,显示进度提示
  success: function (res) {
    var localId = res.localId; // 返回图片下载后的本地ID
  }});

获取本地图片接口

wx.getLocalImgData({
  localId: '', // 图片的localID
  success: function (res) {
    var localData = res.localData; // localData是图片的base64数据,可以用img标签显示
  }});

备注:此接口仅在 iOS WKWebview 下提供,用于兼容 iOS WKWebview 不支持 localId 直接显示图片的问题。具体可参考《iOS WKWebview网页开发适配指南


 getLocalImgData 该方法官方说 接口仅在 iOS WKWebview 下提供用于兼容 iOS WKWebview 不支持 localId 直接显示图片的问题

 ,但是我们可以做成安卓和IOS通用方法

    在方法里面 getLocalImgData 判断

             if (localData.indexOf("data:image") != 0) {

              //判断是否有这样的头部

              localData = "data:image/jpeg;base64," + localData;

            }

            localData = localData.replace(/\r|\n/g, "");

            //.replace('data:image/jgp', 'data:image/jpeg'); 必要时可转


然后,localData 可以作为img标签的src属性显示图片


评价
若人生只如初见,愿还是相遇的那个下午,阳光明媚转身一笑便如春暖花开
排名
6
文章
6
粉丝
16
评论
8
{{item.articleTitle}}
{{item.blogName}} : {{item.content}}
ICP备案 :渝ICP备18016597号-1
网站信息:2018-2024TNBLOG.NET
技术交流:群号656732739
联系我们:contact@tnblog.net
欢迎加群交流技术