在开发微信小程序后台时,需要用到客服功能,如果是自己公司搭建的客服系统,在与用户沟通中难免会出现使用图片的情况。图片均需要上传至微信服务器,然后提供一个 media_id 用来图片的查看,下面就是利用 httpClient 工具将图片上传至微信;
ps:临时素材库,有效期好像是3天,如果有知道确定时间的朋友麻烦告知,3q
1、获取 access_token,此步骤在微信小程序服务端开发之消息推送这篇文章中 第2项 已经说明;
2、微信上传图片 url 为:
https://api.weixin.qq.com/cgi-bin/media/upload?access_token=ACCESS_TOKEN&type=image
3、相关 httpClient 代码如下:
public static String uploadImage(String url, File file) throws IOException {
HttpClient client = HttpClients.createDefault();
HttpPost post = new HttpPost(url);
FileBody fileBody = new FileBody(file);
MultipartEntityBuilder builder = MultipartEntityBuilder.create();
builder.setMode(HttpMultipartMode.BROWSER_COMPATIBLE);
builder.addPart("upfile", fileBody);
HttpEntity entity = builder.build();
post.setEntity(entity);
HttpResponse response = client.execute(post);
return EntityUtils.toString(response.getEntity(), "utf-8");
}
4、如果上传成功,则会返回如下:
{
"type":"image",
"media_id":"MEDIA_ID",
"created_at":123456789
}