微信js-sdk预览图片接口及从拍照或手机相册中选图接口用法示例


Posted in Javascript onOctober 13, 2016

本文实例讲述了微信js-sdk预览图片接口及从拍照或手机相册中选图接口用法。分享给大家供大家参考,具体如下:

目前中js-sdk 1.0版本中,预览图片提供了2个接口,接口的定义参考官方文档

1.预览网络图片http链接的

2.预览本地图片wenxin:// 链接的

一、预览图片接口

注:

1.预览图片接口目前只支持微信手机版
2.预览图片只支持http连接,对于weixin:// 无法预览
3.预览图片的地址需要进行加密处理,尤其路径中有中文的情况下,需要使用window.encodeURI()方法

实例说明:

//1.预览图片 会显示下载失败
wx.previewImage({
  current:'http://localhost/content/images/冰皮月饼.jpg',
  urls:[
    'http://localhost/content/images/冰皮月饼.jpg'
  ]
});
//预览图片成功
wx.previewImage({
  current:'http://localhost/content/images/%E5%86%B0%E7%9A%AE%E6%9C%88%E9%A5%BC.jpg',
  urls:[
    'http://localhost/content/images/%E5%86%B0%E7%9A%AE%E6%9C%88%E9%A5%BC.jpg'
  ]
});

自定义预览网页中,指定的图片实例:

var imgList=$('.row img');
var urlList=[];
imgList.each(function(){
  var url='http://'+location.host+$(this).attr('src');
  //对url中的中文进行处理
  url=window.encodeURI(url);
  urlList.push(url);
});
//1.预览图片接口目前只支持微信手机版
//2.预览图片只支持http连接,对于weixin:// 无法预览
wx.previewImage({
  current:urlList[0],
  urls:urlList
});

二、从拍照或手机相册中选择图片,预览本地图片

1.返回选定照片的本地ID列表,localId可以作为img标签的src属性显示图片,链接地址都是 weixin://resourceid/xxxx

2. localId 可以用于微信手机版图片显示(目前PC版不可用)

实例1:

//2.选择图片单个图片
wx.chooseImage({
  count: 1, // 默认9
  sizeType: ['original', 'compressed'], // 可以指定是原图还是压缩图,默认二者都有
  sourceType: ['album', 'camera'], // 可以指定来源是相册还是相机,默认二者都有
  success: function (res) {
    var localIds = res.localIds;
    // 返回选定照片的本地ID列表,localId可以作为img标签的src属性显示图片
    // localId 可以用于微信手机版图片显示(目前PC版不可用)
    $('#imgTarget').attr('src',localIds[0]);
  }
});

实例2:

//选择多个图片
wx.chooseImage({
  count:4,
  sizeType:['original'],
  sourceType:['album', 'camera'],
  success:function(res){
    var localIds=res.localIds;
    for (var i = 0; i < localIds.length; i++) {
      var localId=localIds[i];
      addImg(localId);
    }
  }
});
//添加图片的row
function addImg(src){
  var col=$('<div />');
  col.addClass('col-xs-6 col-md-3');
  var a=$('<a />');
  a.addClass('thumbnail');
  var img=$('<img />');
  img.attr('src',src);
  a.append(img).append(src);
  col.append(a);
  $('.row').append(col);
}

希望本文所述对大家JavaScript程序设计有所帮助。

Javascript 相关文章推荐
js实现带圆角的两级导航菜单效果代码
Aug 24 Javascript
实例讲解jquery与json的结合
Jan 07 Javascript
angularjs封装$http为factory的方法
May 18 Javascript
JS组件系列之Gojs组件 前端图形化插件之利器
Nov 29 Javascript
jQuery中库的引用方法
Jan 06 jQuery
微信小程序实现YDUI的ScrollNav组件
Feb 02 Javascript
浅谈Vue服务端渲染框架Nuxt的那些事
Dec 21 Javascript
Vue源码学习之关于对Array的数据侦听实现
Apr 23 Javascript
微信小程序实现禁止分享代码实例
Oct 19 Javascript
JS前端面试必备——基本排序算法原理与实现方法详解【插入/选择/归并/冒泡/快速排序】
Feb 24 Javascript
浅谈element中InfiniteScroll按需引入的一点注意事项
Jun 05 Javascript
TS 类型兼容教程示例详解
Sep 23 Javascript
Javascript中this绑定的3种方法与比较
Oct 13 #Javascript
手机端实现Bootstrap简单图片轮播效果
Oct 13 #Javascript
jquery  实现轮播图详解及实例代码
Oct 12 #Javascript
ExtJS 4.2 Grid组件单元格合并的方法
Oct 12 #Javascript
JS代码实现百度地图 画圆 删除标注
Oct 12 #Javascript
如何使用jquery实现文字上下滚动效果
Oct 12 #Javascript
微信js-sdk界面操作接口用法示例
Oct 12 #Javascript
You might like
使用字符串函数输出整数化的PHP版本号
2006/10/09 PHP
实现php加速的eAccelerator dll支持文件打包下载
2007/09/30 PHP
PHP提示Notice: Undefined variable的解决办法
2012/11/24 PHP
php计算title标题相似比的方法
2015/07/29 PHP
WordPress主题制作中自定义头部的相关PHP函数解析
2016/01/08 PHP
PHP入门教程之正则表达式基本用法实例详解(正则匹配,搜索,分割等)
2016/09/11 PHP
php 生成加密公钥加密私钥实例详解
2017/06/16 PHP
使用XHProf查找PHP性能瓶颈的实例
2017/12/13 PHP
用javascript实现无刷新更新数据的详细步骤 asp
2006/12/26 Javascript
javascript 中对象的继承〔转贴〕
2007/01/22 Javascript
javascript 跨浏览器开发经验总结(五) js 事件
2010/05/19 Javascript
JavaScript去掉空格的方法集合
2010/12/28 Javascript
js取消单选按钮选中示例代码
2013/11/14 Javascript
Internet Explorer 11 浏览器介绍:别叫我IE
2014/09/28 Javascript
JavaScript、jQuery与Ajax的关系
2016/01/24 Javascript
如何处理JSON中的特殊字符
2016/11/30 Javascript
JS实现仿PS的调色板效果完整实例
2016/12/21 Javascript
jQuery编写设置和获取颜色的插件
2017/01/09 Javascript
Node.js使用Express.Router的方法
2017/11/14 Javascript
集成vue到jquery/bootstrap项目的方法
2018/02/10 jQuery
详解关于element el-button使用$attrs的一个注意要点
2018/11/09 Javascript
layUI使用layer.open,在content打开数据表格,获取值并返回的方法
2019/09/26 Javascript
Python模拟登陆实现代码
2017/06/14 Python
python中sys.argv函数精简概括
2018/07/08 Python
python matplotlib如何给图中的点加标签
2019/11/14 Python
python re模块匹配贪婪和非贪婪模式详解
2020/02/11 Python
Anaconda+VSCode配置tensorflow开发环境的教程详解
2020/03/30 Python
医学生自荐信范文
2013/12/03 职场文书
2014年会演讲稿范文
2014/01/06 职场文书
群众路线自我剖析及整改措施
2014/11/04 职场文书
学生退学证明
2015/06/23 职场文书
2015年秋季运动会加油稿
2015/07/22 职场文书
奶茶店的创业计划书该怎么写?
2019/07/15 职场文书
导游词之凤凰古城
2019/10/22 职场文书
oracle覆盖导入dmp文件的2种方法
2021/05/21 Oracle
分析Python感知线程状态的解决方案之Event与信号量
2021/06/16 Python