SpringBoot 接口 字节数组直接显示为图片

源码:

java 复制代码
import java.io.ByteArrayOutputStream;
import javax.imageio.ImageIO;
import org.springframework.web.bind.annotation.RequestMapping;


/**
 * 获取二维码图像
 * 二维码支付
 *
 * @param price 金额
 * @return 二维码图像
 * @throws IOException IOException
 */
@RequestMapping(value = "toQrPay.jpg", produces = "image/jpeg;charset=UTF-8")
public byte[] toQrPay(BigDecimal price) throws IOException {
    //获取对应的支付账户操作工具(可根据账户id)
    ByteArrayOutputStream baos = new ByteArrayOutputStream();
    ImageIO.write(service.genQrPay(new PayOrder(
            "订单title",
            "摘要",
            null == price ? BigDecimal.valueOf(0.01) : price,
            System.currentTimeMillis() + "", AliTransactionType.SWEEPPAY)),
            "JPEG",
            baos);
    return baos.toByteArray();
}
相关推荐
葫芦和十三5 小时前
图解 MongoDB 11|慢查询排查闭环:从 Profile 到 explain 的分层路径
后端·mongodb·agent
葫芦和十三8 小时前
图解 MongoDB 09|explain 再读:从 queryPlanner 到 executionStats
后端·mongodb·agent
葫芦和十三8 小时前
图解 MongoDB 10|覆盖查询:让索引把活干完,根本不用回表
后端·mongodb·agent
大鸡腿同学9 小时前
从 CoT 思维链到 ReAct:智能 Agent 到底是怎么 “思考” 的?
后端
IT_陈寒11 小时前
Vite的静态资源打包让我熬夜到三点,这坑千万别跳
前端·人工智能·后端
小bo波12 小时前
使用Thread子类创建线程 VS 使用Runnable接口创建线程的区别
java·多线程·thread·并发编程·runnable
SamDeepThinking12 小时前
高并发场景下,CompletableFuture与ForkJoinPool该如何取舍?
java·后端·面试
Asize13 小时前
多模态生图:从 Vite 工程化到前端调用 Qwen Image
javascript·人工智能·后端
java小白小13 小时前
SpringBoot(09):缓存实战——穿透、雪崩、击穿的解决方案
后端
java小白小13 小时前
SpringBoot(08):Redis 集成——5 分钟给你的项目加上缓存
后端