1.controller
@RequestMapping("/getQrcode")
@ResponseBody
public Result getQrcode(HttpServletRequest request, HttpServletResponse response){
OutputStream os = null;
try {
os = response.getOutputStream();
Integer sd = Integer.valueOf(RandomStringUtils.randomNumeric(1));
byte[] img;
if (sd > 5){
img = QrcodeUtils.createQrcode("www.qq.com", null);
}else {
img = QrcodeUtils.createQrcode("www.baidu.com", null);
}
os.write(img);
} catch (IOException e) {
e.printStackTrace();
}
return buildSuccessMsg("请求成功");
}
2.html
<img id="img" src="/welcome/getQrcode" onclick="changeQrcode()" width="100%" style="max-width:264px;">
function changeQrcode() {
var xmlhttp;
xmlhttp=new XMLHttpRequest();
xmlhttp.open("GET","/welcome/getQrcode",true);
xmlhttp.responseType = "blob";
// 如果需要传递参数
var formData = new FormData();
formData.append("totalPrice", totalPrice);
formData.append("discountPrice", discountPrice);
formData.append("payFee", payFee);
formData.append("productDetail", productDetail);
xmlhttp.onload = function(){
if (this.status === 200) {
var blob = this.response;
var img = document.getElementById("img");
img.onload = function(e) {
window.URL.revokeObjectURL(img.src);
};
img.src = window.URL.createObjectURL(blob);
}
};
xmlhttp.send(formData);
}