微信公众号开发之选择图片,上传图片,下载图片,显示图片

function clickImg(that){
	wx.chooseImage({  
		count: 1,  
		needResult: 1,  
		sizeType: ['original', 'compressed'], // 可以指定是原图还是压缩图,默认二者都有  
		sourceType: ['album', 'camera'], // 可以指定来源是相册还是相机,默认二者都有  
		success: function (data) {                  
			var localId=data.localIds;//把图片的路径保存在images[localId]中--图片本地的id信息,用于上传图片到微信浏览器时使用
			 wx.uploadImage({
			 	localId: localId.toString(),
			   	isShowProgressTips: 1, // 默认为1,显示进度提示  
			   	success: function (res) {                                        
			   		var mediaId = res.serverId;
		   			//调用后台方法存储medidld
					//图片上传完成之后,进行图片的下载,图片上传完成之后会返回一个在腾讯服务器的存放的图片的ID--->serverId
				    wx.downloadImage({
				    serverId: res.serverId, //需要下载的图片的服务器端ID,由uploadImage接口
				    isShowProgressTips: 1, // 默认为1,显示进度提示
				    success: function (res) {
				    var localId = res.localId; // 返回图片下载后的本地ID
				    //通过下载的本地的ID获取的图片的base64数据,通过对数据的转换进行图片的保存
				    wx.getLocalImgData({
				    localId: localId, // 图片的localID
				    success: function (res) {
				    var mediaId = res.serverId;
					if (window.__wxjs_is_wkwebview){ //判断ios是不是用的wkwebview 内核		
						var localData = res.localData;//localData是图片的base64数据,可以用img标签显示
						localData = localData.replace('jgp', 'jpeg');
						$("#kin_img").attr("src", localData);
					}else{
							$("#kin_img").attr("src", mediaId );
						}
	 				});
				}
 			})
		},  
   		fail: function (error) {  
   		     picPath = '';  
   		     localIds = '';  
   		     console.log(error);          
   		 }          
	   });  
	},  
	fail: function (res) {
		 console.log(res);
	}    
});
};
Node.js 开发微信公众号通常涉及到微信公众平台的API,其中涉及图片上传功能主要是通过调用微信提供的`素材管理`相关的接口。以下是基本步骤: 1. **配置微信开发者工具**:首先需要在微信公众平台上注册并创建一个公众号,然后在开发者中心完成服务器配置,获取AppID、AppSecret等必要信息。 2. **安装依赖库**:使用npm安装`wx-node-sdk`或者`wechaty`这样的第三方库,它们封装了微信API的操作,方便开发。 3. **初始化SDK**:导入所需的模块,设置access_token和token,这通常需要定期刷新以保持有效性。 ```javascript const wx = require('node-wx')({ appid: 'your_app_id', secret: 'your_app_secret', }); ``` 4. **上传图片**:调用`uploadMedia`方法,传入文件路径或者其他支持的媒体类型(如Base64编码的图片),请求返回media_id可以用于后续的消息发送。 ```javascript wx.uploadMedia({ localId: 'image.jpg', // 图片本地路径或Base64字符串 mediaType: 'image', // 图片类型 }, (err, res) => { if (err) console.error(err); else { const mediaId = res.mediaId; // 存储这个媒体ID以便后续使用 // 发送消息时附带图片 } }); ``` 5. **构建消息**:当准备发送包含图片的消息时,可以在消息结构体中加入`news_item`,其中包括图片链接(使用`media_id`生成的URL)。 6. **发送消息**:最后,通过`message.sendNews`等方法将构建好的图文消息发送给用户。
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值