参考微信官方文档
大致分为几步:
1.填写服务器配置
2.换取access_token .调用文章内容(图片转换为微信转换后的地址)
3.上传封面接口
4.上传推文信息至草稿箱接口
5.调用推送接口(群发)得到反馈结果 msg_id error_code等信息
第一步:略过
第二部:
private static CommonsMultipartFile getMultipartFile(String url) {
FileInputStream inputStream = null;
OutputStream outputStream = null;
try {
File file = getFile(url);
FileItem fileItem = new DiskFileItem("formFieldName",//form表单文件控件的名字随便起
Files.probeContentType(file.toPath()),//文件类型
false, //是否是表单字段
file.getName(),//原始文件名
(int) file.length(),//Interger的最大值可以存储两部1G的电影
file.getParentFile());//文件会在哪个目录创建
//为DiskFileItem的OutputStream赋值
inputStream = new FileInputStream(file);
outputStream = fileItem.getOutputStream();
IOUtils.copy(inputStream, outputStream);
CommonsMultipartFile commonsMultipartFile = new CommonsMultipartFile(fileItem);
return commonsMultipartFile;
} catch (Exception e) {
e.printStackTrace();
}
return null;
}
public static Set<String> getImgStr(String htmlStr) {
htmlStr.replaceAll(" ", "");
Set<String> pics = new HashSet<>();
String img = "";
Pattern p_image;
Matcher m_image;
String patternStr="<img\\s*([^>]*)\\s*src=\\\"(.*?)\\\"\\s*([^>]*)>";
p_image = Pattern.compile
(patternStr, Pattern.CASE_INSENSITIVE);
m_image = p_image.matcher(htmlStr);
while (m_image.find()) {
img = m_image.group();
Matcher m = Pattern.compile("src\\s*=\\s*\"?(.*?)(\"|>|\\s+)").matcher(img);
while (m.find()) {
pics.add(m.group(1));
}
}
return pics;
}
public static String uploadImgForWx(String appid, String appsecret, String oldurl) {
AccessToken access_token = WeiXinUtil.getAccessTok