后台生成了二维码,现需要将生成的二维码展示到前端页面。
为了实现这个功能,在网上找了很久。大多都是建议使用window.URL.createObjectURL(),贴上代码
let oid = "934a1fca-dc1d-4fe5-888b-23c70cd2b76f";
let _this = this;
axios({
url:"QRCode/ShowQRCode?businesskey=" + oid,
methods: 'get',
responseType: "blob",
Accept:"application/json"}).then(function(data1){
if(data1){
let blob = new Blob([data1.data],{
type: "image/png"});
_this.src = window.URL.createObjectURL(blob)
}
})
但是返回数据中没有data参数,直接用let blob = new Blob([data1],{type: "image/png"}); _this.src = window.URL.createObjectURL(blob)
也无效。最后直接在img标签中将接口调用地址塞进src才正常展示。下面贴上部分代码仅供参考。
1、后台输出流
1)提供前端调用的接口
@GET
@Path("/ShowQRCode")