最近做的微信网页要实现一个上传图片的功能,倒腾了半天终于搞好了,具体的步骤可以查看微信官方文档https://developers.weixin.qq.com/doc/offiaccount/OA_Web_Apps/JS-SDK.html,这里只是简答说一下,

JSSDK使用步骤

步骤一:绑定域名

先登录微信公众平台进入“公众号设置”的“功能设置”里填写“JS接口安全域名”。

备注:登录后可在“开发者中心”查看对应的接口权限。

步骤二:引入JS文件

在需要调用JS接口的页面引入如下JS文件,(支持https):http://res.wx.qq.com/open/js/jweixin-1.4.0.js

如需进一步提升服务稳定性,当上述资源不可访问时,可改访问:http://res2.wx.qq.com/open/js/jweixin-1.4.0.js

第三步:请求后台接口,注入配置信息

wx.config({
debug: true, // 开启调试模式,调用的所有api的返回值会在客户端alert出来,若要查看传入的参数,可以在pc端打开,参数信息会通过log打出,仅在pc端时才会打印。
appId: '', // 必填,公众号的唯一标识
timestamp: , // 必填,生成签名的时间戳
nonceStr: '', // 必填,生成签名的随机串
signature: '',// 必填,签名
jsApiList: [] // 必填,需要使用的JS接口列表
});
下面是前端详细代码:
  1 (function () {
2 let url = 'caf/Verification/getConfig.do';
3 let myData = {};
4 myData['configUrl'] = location.href;
5 //alert(location.href);
6 sendAjax(url, myData, callback);
7
8 function callback(data) {
9 var timestamp = data.timestamp;
10 var noncestr = data.nonceStr;
11 var signature = data.signature;
12 //通过config接口注入权限验证配置
13 wx.config({
14 debug: false, //调试模式建议开启true
15 appId: "wx68df519fcf184a96", //微信公众号的appid,不是个人的
16 timestamp: timestamp.toString(),
17 nonceStr: noncestr, //生成签名的随机串
18 signature: signature, //签名
19 jsApiList: ['chooseImage', 'uploadImage', 'downloadImage'] //下面要调用的微信接口写在这里,否则不能使用
20 });
21 }
22 })();
//请求函数封装
function sendAjax(url,requestdata,callback) {
var getDataAddress = 'http://wx.ccnuoxin.cn/credit/'
mui.ajax({
type: "post",
url: getDataAddress+url,
async: true,
data: requestdata,
headers: {'Content-Type': 'application/json'},
dataType: "json",
//jsonp: "jsoncallback",
success: function (data) {
callback(data);
}
});
}

请求完成后,就可以调用上面配置的微信接口了

 function chooseImgfun(imgdesc, id) {
wx.chooseImage({
count: 1, // 默认9,1-9张
sizeType: ['original', 'compressed'], // 可以指定是原图还是压缩图,默认二者都有
sourceType: ['album', 'camera'], // 可以指定来源是相册还是相机,默认二者都有
success: function (res) {
var localIds = res.localIds; // 返回选定照片的本地ID列表,localId可以作为img标签的src属性显示图片
//上传图片
wx.uploadImage({
localId: '' + localIds + '', // 需要上传的图片的本地ID,由chooseImage接口获得
isShowProgressTips: 1, // 默认为1,显示进度提示
success: function (res) {
var serverId = res.serverId; // 返回图片的服务器端ID
let url = 'archives/Verification/uploadFile.do';
let myData = {};
myData['mediaId'] = serverId; sendAjax(url, myData, chooseImgfun_callback); function chooseImgfun_callback(data) {
mui.toast('上传成功');
var timestamp = parseInt((new Date()).valueOf());
var div = document.createElement("div");
div.className = "filebox";
div.id = "content" + timestamp;
div.innerHTML =
'<div class="uploadimg">' +
'<img class="uploadimgUrl" src="' + localIds + '" alt=""> ' +
'<span>' + imgdesc + '</span>' +
'</div>' +
'<div class="comm1 delete" id="delete' + timestamp + '" onclick="delefun(' + timestamp + ')"> ' +
'<img style="margin-right:0.4rem;width: 1.5rem;height: 1.5rem;vertical-align: middle" src="../image/delete.png" alt=""> ' +
'<span>删除</span> ' +
'</div>';
mui('#edcationContent')[0].append(div);
mui('#jnpopover').popover('hide'); //选择完关闭弹出框
var listData = {};
listData = {
"fileTypeId": id,
"filePath": data.filePath,
"dataid": timestamp
};
archivesList.push(listData);
}
}
}); }
})
}
wx.config的配置不需要前端做什么处理,都是后端处理好之后传到前端,前端拿来用即可,没有很复杂,希望帮到有需要的同行们

微信JS-SDK接口上传图片以及wx.config的配置的更多相关文章

  1. 关于微信JS SDK接口wx.previewImage预览接口的使用

    然后后之前的项目,突然往微信上迁移了,一些微信的接口没怎么用过,比较陌生,这次的功能是想调用微信的接口,实现图片放大的功能, 就找到官方文档:http://qydev.weixin.qq.com/wi ...

  2. 微信js SDK接口

    微信JS-SDK说明文档 http://mp.weixin.qq.com/wiki/7/aaa137b55fb2e0456bf8dd9148dd613f.html 一.微信登录功能 在进行微信OAut ...

  3. 微信开发(2):微信js sdk分享朋友圈,朋友,获取config接口注入权限验证(转)

    进行微信开发已经一阵子了,从最初的什么也不懂,到微信授权登录,分享,更改底部菜单,素材管理,等. 今天记录一下微信jssdk 的分享给朋友的功能,获取config接口注入. 官方文档走一下简单说:四步 ...

  4. 微信JS SDK接入的几点注意事项

    微信JS SDK接入,主要可以先参考官网说明文档,总结起来有几个步骤: 1.绑定域名:先登录微信公众平台进入“公众号设置”的“功能设置”里填写“JS接口安全域名”.备注:登录后可在“开发者中心”查看对 ...

  5. 微信js sdk上传多张图片

    微信js sdk上传多张图片,微信上传多张图片 该案例已tp3.2商城为例 直接上代码: php代码: public function ind(){ $appid="111111111111 ...

  6. 实战微信JS SDK开发:贺卡制作与播放(1)

    前段时间忙于CanTK 2.0的开发,所以博客一直没有更新.CanTK 2.0主要增强了游戏和富媒体的开发,现在编码和测试基本完成了,等文档完成了再正式发布,里面有不少激动人心的功能,等发布时再一一细 ...

  7. 微信JS SDK配置授权,实现分享接口

    微信开放的JS-SDK面向网页开发者提供了基于微信内的网页开发工具包,最直接的好处就是我们可以使用微信分享.扫一扫.卡券.支付等微信特有的能力.7月份的时候,因为这个分享的证书获取问题深深的栽了一坑, ...

  8. 微信JS SDK Demo 官方案例[转]

    摘要: 微信JS-SDK是微信公众平台面向网页开发者提供的基于微信内的网页开发工具包. 通过使用微信JS-SDK,网页开发者可借助微信高效地使用拍照.选图.语音.位置等手机系统的能力,同时可以直接使用 ...

  9. 微信JS SDK Demo

    微信JS-SDK 分享到朋友圈 分享给朋友 分享到QQ 拍照或从手机相册中选图 识别音频并返回识别结果 使用微信内置地图查看位置原文:http://www.cnblogs.com/txw1958/p/ ...

随机推荐

  1. 早日选择一门自己喜欢的,然后瞄准目标,不达目的誓不罢休。像文章的作者一样成为一名成功的IT人士。

    hawk的奋斗历程. 来自:LinuxForum  :http://www3.linuxforum.net/ 原址:http://www.linuxforum.net/forum/gshowflat. ...

  2. Pangu and Stones HihoCoder - 1636 区间DP

    Pangu and Stones HihoCoder - 1636 题意 给你\(n\)堆石子,每次只能合成\(x\)堆石子\((x\in[L, R])\),问把所有石子合成一堆的最小花费. 思路 和 ...

  3. socket | netcat 模拟

    #!/opt/local/bin/python2.7 #coding=utf-8 ''' 取代netcat 两台主机中其中一台控制另一台 得到北控方的shell ''' import sys impo ...

  4. vue搭配的UI框架 pc端 + 移动端

    PC桌面端UI框架: 1,iview      (最新,用户评分高功能多炫酷 解决和避免了其他UI框架出现的一些小问题) 2, bootstrap  (使用用户最多样式死板没特色) 3,Element ...

  5. DZY Loves Math

    DZY Loves Math 对于正整数 $n$,定义 $f(n)$ 为 $n$ 所含质因子的最大幂指数. 例如 $f(1960)=f(2^3 * 5^1 * 7^2)=3, f(10007)=1, ...

  6. 2018-2019-2 20175203 实验四《Android 开发基础》

    20175203 2018-2019 实验四<Android 开发基础> 实验要求 参考Android开发简易教程 完成云班课中的检查点,也可以先完成实验报告,直接提交.注意不能只有截图, ...

  7. 2018-2019-2 网络对抗技术 20165206 Exp7 网络欺诈防范

    - 2018-2019-2 网络对抗技术 20165206 Exp7 网络欺诈防范 - 实验任务 (1)简单应用SET工具建立冒名网站 (1分) (2)ettercap DNS spoof (1分) ...

  8. 高并发大流量专题---5、CDN加速

    高并发大流量专题---5.CDN加速 一.总结 一句话总结: CDN就是多整几台节点服务器,选距离用户最近的服务器来给用户服务,实现的话可以用阿里云.腾讯云他们提供的功能,简单方便,妈妈再也不用担心我 ...

  9. iOS图片压缩问题

    对于压缩的处理我给出的建议是 先判断 图片的大小,如果是本地图片最好用nsfilemanager 来判断 .如果不能用这个判断的话 就只能先将图片转成data,然后再判断了. 图片转成data 当然就 ...

  10. 114、TensorFlow设备放置

    # creates a variable named v and places it on the second GPU device import tensorflow as tf #with tf ...