100字范文,内容丰富有趣,生活中的好帮手!
100字范文 > 微信jssdk上传图片java_微信JSSDK上传图片

微信jssdk上传图片java_微信JSSDK上传图片

时间:2023-06-02 04:57:24

相关推荐

微信jssdk上传图片java_微信JSSDK上传图片

前不久微信公开了一些接口,其中有一个uploadImage接口用于上传图片,一般和chooseImage接口配合使用。先调用chooseImage接口让用户选择一张或者多张图片,用户选择完毕后微信会返回被选中图片的id,再把图片id传给uploadImage接口上传图片。

最近做的一个项目,刚好用到了JSSDK,把用到的东西整理下。

先附上微信开发者文档链接:

主要用到了:

引入JS文件

在需要调用JS接口的页面引入如下JS文件,(支持https):

我们需要获取微信js-sdk参数

获取access_token

*

* @param appid

* 凭证

* @param appsecret

* 密钥

* @return

*/

public static WxAccessToken getAccessToken() {

WxAccessToken accessToken = null;

String requestUrl = access_token_url.replace("APPID",Setting.getSetting("WX_PL_APP_ID")).replace(

"APPSECRET",Setting.getSetting("APP_SECRET"));

JSONObject jsonObject = httpRequest(requestUrl,"GET",null);

// 如果请求成功

if (null != jsonObject) {

try {

accessToken = new WxAccessToken();

accessToken.setToken(jsonObject.getString("access_token"));

accessToken.setExpiresIn(jsonObject.getInt("expires_in"));

} catch (JSONException e) {

accessToken = null;

// 获取token失败

log.error("获取token失败 errcode:{} errmsg:{}",jsonObject.getInt("errcode"),jsonObject.getString("errmsg"));

}

}

return accessToken;

}

public static String jsapiTicket = "https://api./cgi-bin/ticket/getticket?access_token=ACCESS_TOKEN&type=jsapi";

/**

* 获取JsTicket

*

* @param accessToken

* accessToken

* @return

*/

public static WxJsTicket getJsTicket(String accessToken) {

WxJsTicket jsTicket = null;

String url = jsapiTicket.replaceAll("ACCESS_TOKEN",accessToken);

JSONObject jsonObject = httpRequest(url,null);

// 如果请求成功

if (null != jsonObject) {

try {

jsTicket = new WxJsTicket();

jsTicket.setTicket(jsonObject.getString("ticket"));

jsTicket.setExpiresIn(jsonObject.getInt("expires_in"));

} catch (JSONException e) {

jsTicket = null;

// 获取token失败

log.error("获取jsapiTicket失败 errcode:{} errmsg:{}",jsonObject.getString("errmsg"));

}

}

return jsTicket;

}

需要注意接口的调用次数是有限制的,需要控制好。

页面的配置

调用的所有api的返回值会在客户端alert出来,若要查看传入的参数,可以在pc端打开,参数信息会通过log打出,仅在pc端时才会打印。

appId: "$!{wxsign.get('appId')}",// 必填,公众号的唯一标识

timestamp: "$!{wxsign.get('timeStamp')}",// 必填,生成签名的时间戳

nonceStr: "$!{wxsign.get('nonceStr')}",// 必填,生成签名的随机串

signature: "$!{wxsign.get('signature')}",// 必填,签名,见附录1

jsApiList: ['checkJsApi','chooseImage','previewImage','uploadImage'] // 必填,需要使用的JS接口列表,所有JS接口列表见附录2

});

var images = {

localId: [],serverId: []

};

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

img标签的src属性显示图片

}

});

上传的图片的本地ID,由chooseImage接口获得

isShowProgressTips: 1,// 默认为1,显示进度提示

success: function (res) {

var serverId = res.serverId; // 返回图片的服务器端ID

}

});

微信返回的serverid我们需要通过微信api获取真实的图片二进制数据。

0) {

swapStream.write(buff,rc);

}

byte[] filebyte = swapStream.toByteArray();

return PictureStore.getInstance().getImageServerUrl() + PictureStore.getInstance().store(filebyte);

} catch (Exception e) {

e.printStackTrace();

} finally {

if(conn != null){

conn.disconnect();

}

}

return "";

}

整体上做这个功能还是比较简单的,只不过以前没有接触过微信api。

微信 jssdk 上传多张图片

代码如下:

jssdk

0){

syncUpload(localIds);

}

}

});

};

本文给大家分享了微信JSSDK上传图片的方法,希望对大家今后的工作学习有所帮助,当然方法也不止以上一种,还有很多,欢迎大家多多分享自己的经验。

相关文章

总结

以上是编程之家为你收集整理的微信JSSDK上传图片全部内容,希望文章能够帮你解决微信JSSDK上传图片所遇到的程序开发问题。

如果觉得编程之家网站内容还不错,欢迎将编程之家网站推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。

如您喜欢交流学习经验,点击链接加入交流1群:1065694478(已满)交流2群:163560250

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。