企业内部开发 客户端API JS-SDK 媒体 图像接口
图像接口
最后更新:2021/12/29
可联系渠道经理采购或代理智慧硬件接口已支持设备 联系渠道经理
图像接口
最后更新:2021/12/29

目录

  • 获取本地图片接口
  • 拍照或从手机相册中选图接口
  • 预览图片接口
  • 上传图片接口
  • 下载图片接口
  • 获取本地图片接口

    wx.getLocalImgData({
        localId: '', // 图片的localID
        success: function (res) {
            var localData = res.localData; // localData是图片的base64数据,可以用img标签显示
    }
    });
    备注:此接口仅在 iOS WKWebview 下提供,用于兼容 iOS WKWebview 不支持 localId 直接显示图片的问题。要求IOS版本为2.4.6及以上

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

    wx.chooseImage({
        count: 1, // 默认9
        sizeType: ['original', 'compressed'], // 可以指定是原图还是压缩图,默认二者都有
        sourceType: ['album', 'camera'], // 可以指定来源是相册还是相机,默认二者都有
        defaultCameraMode: "batch", //表示进入拍照界面的默认模式,目前有normal与batch两种选择,normal表示普通单拍模式,batch表示连拍模式,不传该参数则为normal模式。从3.0.26版本开始支持front和batch_front两种值,其中front表示默认为前置摄像头单拍模式,batch_front表示默认为前置摄像头连拍模式。(注:用户进入拍照界面仍然可自由切换两种模式)
    	isSaveToAlbum: 1, //整型值,0表示拍照时不保存到系统相册,1表示自动保存,默认值是1
        success: function (res) {
            var localIds = res.localIds; // 返回选定照片的本地ID列表,
                    // andriod中localId可以作为img标签的src属性显示图片;
                    // iOS应当使用 getLocalImgData 获取图片base64数据,从而用于img标签的显示(在img标签内使用 wx.chooseImage 的 localid 显示可能会不成功)
        }
    });
    此接口在企业微信2.3及以后版本支持相机连拍(当sourceType是camera时)
    参数defaultCameraMode仅在企业微信2.4.20及以后版本支持
    从2.4.6版本开始,IOS版企业微信浏览器升级为WkWebView,因其不支持原有的直接通过localid作为img标签的src属性来显示图片的方式。开发者需要采用通过getLocalImgData来获取localid对应图片的base64数据。
    参数isSaveToAlbum仅在企业微信2.7.5及以后版本支持
    从3.0.26版本开始,defaultCameraMode支持front和batch_front两种值,其中front表示默认为前置摄像头单拍模式,batch_front表示默认为前置摄像头连拍模式

    预览图片接口

    wx.previewImage({
        current: '', // 第一张显示的图片链接
        urls: [] // 需要预加载的图片http链接列表,预加载后,可以滑动浏览这些图片
    });
    从2.4.6版本开始,IOS版企业微信浏览器升级为WkWebView,企业微信原生层面的网络请求读取不到WKWebview中设置的cookie,即使域名是相同的。

    问题说明:
    如果页面的资源或图片存储的服务器依赖校验Cookie来返回数据的情况,在切换到WKWebview后,在企业微信内长按保存,或者点击预览大图时,原生层面发起的网络请求将不会完整地带上所设置的Cookie,会导致图片保存失败或预览失败。
    适配建议:
    建议静态资源cookie free。如果确实有信息需要传递,可通过业务后台存储需要传递的信息,然后给页面一个存储信息相对应的access_token加密码,再通过Url中加入自己业务的access_token进行页面间信息传递。

    上传图片接口

    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
        }
    });
    上一篇
    保持屏幕常亮
    下一篇
    音频接口