由于后台安全设置,所有接口需要通过传入token的方式访问图片,找了很久的文档想起了原生ajax创建DOM元素的方式,代码如下
原理:通过原生的ajax获取数据,再转数据流图片最后生成的时候转url回去
var xmlhttp;
xmlhttp = new XMLHttpRequest();
xmlhttp.open("GET", url, true);
xmlhttp.responseType = "blob";
xmlhttp.setRequestHeader("Authorization", "Bearer " + token);//该处加上你当前的token
xmlhttp.onload = function() {
if (this.status == 200) {
var blob = this.response;
var img = document.createElement("img");
img.onload = function(e) {
window.URL.revokeObjectURL(img.src);
};
img.src = window.URL.createObjectURL(blob);
document.body.appendChild(img);
$("#viewItem").empty().append(img);//这个时候img就是一个DOM标签了,把这个标签放到需要的地方就行了
}
}