JAVA 使用Hutool的HttpRequest加FileUtil工具类 把获取的二进制作图片内容进行保存

在使用小程序生成二维API接口时,通过HttpRequest请求获取到的Buffer为二进制内容,需要返回值必须为Byte类型,返回String类型就会变成乱码

下面直接上我的获取二维码方法,获取asscess_token略过:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
/**
 * 生成带参数的小程序二维码
 */
public String getCode(String orgCode) throws RemoteException{
    //获取token
    String accessToken = this.getAccessToken();
    //发送消息请求URL
    String url = "https://api.weixin.qq.com/cgi-bin/wxaapp/createwxaqrcode?access_token="+accessToken;
    JSONObject requestData = new JSONObject();
    requestData.put("path","pages/make/settlement?orgCode="+orgCode);
    requestData.put("width",380);
 
    //这里要特别注意,调用二维码接口返回的是二进制,所以返回值必须为Byte类型,返回String类型就会变成乱码,所以不能使用body()必需要使用bodyBytes()
    byte[] qrCode = HttpRequest.post(url)
            .body(requestData.toString())
            .execute().bodyBytes();
    //这里就直接把二进制保存为文件就可以了
    //这里是自定义保存的文件路径
    String filePath = "../classes/data/uploads/code_"+orgCode+".jpg";
    File file = FileUtil.writeBytes(qrCode, filePath);
    return filePath;
}

  

 

posted @   智昕  阅读(959)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 单元测试从入门到精通
· winform 绘制太阳,地球,月球 运作规律
· 上周热点回顾(3.3-3.9)
点击右上角即可分享
微信分享提示