微信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 相关文章推荐
脚本安需导入(装载)的三种模式的对比
Jun 24 Javascript
IE8 浏览器Cookie的处理
Jan 31 Javascript
js跨域问题之跨域iframe自适应大小实现代码
Jul 17 Javascript
js设置组合快捷键/tabindex功能的方法
Nov 21 Javascript
JavaScript-RegExp对象只能使用一次问题解决方法
Jun 23 Javascript
三分钟带你玩转jQuery.noConflict()
Feb 15 Javascript
详解JavaScript树结构
Jan 09 Javascript
JavaScript 实现 Tab 点击切换实例代码
Mar 25 Javascript
微信小程序分享功能之按钮button 边框隐藏和点击隐藏
Jun 14 Javascript
详解Vue webapp项目通过HBulider打包原生APP
Jun 29 Javascript
Vue SPA 初次进入加载动画实现代码
Nov 14 Javascript
js实现全选和全不选
Jul 28 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
Netflix将与CLAMP、乙一以及冲方丁等6名知名制作人合伙展开原创动画计划!
2020/03/06 日漫
PHP命名空间(Namespace)简明教程
2014/06/11 PHP
php中字符集转换iconv函数使用总结
2014/10/11 PHP
PHP数组游标实现对数组的各种操作详解
2016/01/26 PHP
PHP中关于php.ini参数优化详解
2020/02/28 PHP
让whoops帮我们告别ThinkPHP6的异常页面
2020/03/02 PHP
jquery下jstree简单应用 - v1.0
2011/04/14 Javascript
jquery在项目中做复选框时遇到的一些问题笔记
2013/11/17 Javascript
javascript 获取网页标题代码实例
2014/01/22 Javascript
jQuery异步获取json数据方法汇总
2014/12/22 Javascript
使用JavaScript实现ajax的实例代码
2016/05/11 Javascript
深入学习nodejs中的async模块的使用方法
2017/07/12 NodeJs
ES6学习教程之对象字面量详解
2017/10/09 Javascript
深入理解JavaScript的async/await
2018/08/05 Javascript
Angularjs Ng_repeat中实现复选框选中并显示不同的样式方法
2018/09/12 Javascript
vue中选项卡点击切换且能滑动切换功能的实现代码
2018/11/25 Javascript
用Angular实现一个扫雷的游戏示例
2020/05/15 Javascript
js实现鼠标拖曳效果
2020/12/30 Javascript
[01:11:11]Alliance vs RNG 2019国际邀请赛淘汰赛 败者组BO1 8.20.mp4
2020/07/19 DOTA
[01:05:07]DOTA2-DPC中国联赛 正赛 DLG vs Dragon BO3 第一场2月1日
2021/03/11 DOTA
详解Python当中的字符串和编码
2015/04/25 Python
Win7下搭建python开发环境图文教程(安装Python、pip、解释器)
2016/05/17 Python
python使用psutil模块获取系统状态
2016/08/27 Python
Python数据结构之双向链表的定义与使用方法示例
2018/01/16 Python
Python内置函数reversed()用法分析
2018/03/20 Python
Python3.8对可迭代解包的改进及用法详解
2019/10/15 Python
python:HDF和CSV存储优劣对比分析
2020/06/08 Python
Python 操作SQLite数据库的示例
2020/10/16 Python
Python通过len函数返回对象长度
2020/10/22 Python
使用CSS实现阅读进度条
2017/02/27 HTML / CSS
Banana Republic英国官网:香蕉共和国,GAP集团旗下偏贵族风
2018/04/24 全球购物
数控技术专科生自我评价
2014/01/08 职场文书
2014年销售人员工作总结
2014/11/27 职场文书
装修公司工程部经理岗位职责
2015/04/09 职场文书
Redis+AOP+自定义注解实现限流
2022/06/28 Redis
Win10鼠标宏怎么设置?win10系统鼠标宏的设置方法
2022/08/14 数码科技