使用wxJava开发微信服务(公众)号,实现新建素材的功能
Posted 穆雄雄
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了使用wxJava开发微信服务(公众)号,实现新建素材的功能相关的知识,希望对你有一定的参考价值。
大家好,我是雄雄。
前言
微信服务(公众号)号开发,前面已经整理过了几篇文章了,如下:
这几篇文章都是一些基础,且均为基于原生开发的,写的比较多,直到偶然间发现了一款开源工具类:wxjava
,刚用的时候,对于之前辛辛苦苦写的代码,有点于心不忍,但是慢慢的,发现这个工具类真是强大啊,好多东西都给你写完了。地址在这里:WxJava
就是文档有点不完善,不是最新的,有些是微信官方已经废弃的方法,但是文档里面没有及时改过来,不过没事,我们可以查javadoc
,地址在这里:WxJava的JavaSoc地址
新建临时素材
下面我们来看看如何使用工具类新建临时素材的。
代码很简单:
/**
* 添加临时素材
*/
@GetMapping("/saveTemporaryMaterial")
public String saveTemporaryMaterial()
WxMediaUploadResult wxMediaUploadResult = null;
try
//文件地址
File file = new File("G:\\\\曲谱\\\\dabaguilai.jpg");
wxMediaUploadResult = wxService.getMaterialService()
.mediaUpload(WxConsts.MediaFileType.IMAGE, file);
catch (WxErrorException e)
e.printStackTrace();
return "上传临时素材成功:mediaId:" + wxMediaUploadResult.getMediaId();
wxService
是在上面声明的:
private final WxMpService wxService;
还有个需要注意的地方,类上一定要加注解:@AllArgsConstructor
,不然wxService
无法自动注入。
上传完之后,我们会给我们返回一个临时素材的media_Id
,我们可以拿着这个id去添加草稿等操作。
新建永久素材
根据临时素材,照猫画虎,直接写一个方法,新建永久素材。
但是需要注意,永久素材的规则如下(来源于微信公众平台官方文档):
实现代码如下:
/**
* 添加永久素材
*/
@GetMapping("/savePerpetualMaterial")
public String savePerpetualMaterial()
WxMpMaterialUploadResult wxMpMaterialUploadResult = null;
try
File file = new File("G:\\\\相册\\\\19级三班照片\\\\test.jpg");
WxMpMaterial wxMpMaterial = new WxMpMaterial();
wxMpMaterial.setFile(file);
wxMpMaterial.setName("logo");
wxMpMaterialUploadResult = wxService.getMaterialService().materialFileUpload(WxConsts.MediaFileType.IMAGE, wxMpMaterial);
catch (WxErrorException e)
e.printStackTrace();
return "上传永久素材成功:mediaId:" + wxMpMaterialUploadResult.getMediaId();
注意事项
- 临时素材在微信官方只保存3天,意味着超过三天后,
media_id
就会失效,找不到。 - 怎么在springboot中导入wxJava,可以自行网上搜索,如果还不行,可以评论联系我,我给你发一版。
- 临时素材添加完成之后,可以在微信公众平台后台查看、
以上是关于使用wxJava开发微信服务(公众)号,实现新建素材的功能的主要内容,如果未能解决你的问题,请参考以下文章
2020年django开发微信公众号(实现自定义菜单,翻译)
2020年django开发微信公众号(实现自定义菜单,翻译)