关于图片带token访问,mui 图片访问带token

本文介绍了一种利用原生Ajax结合Token安全设置,实现跨域图片加载的方法。通过将图片转换为Blob对象,再生成URL并插入DOM元素中,解决了因后台安全策略导致的图片加载问题。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

由于后台安全设置,所有接口需要通过传入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标签了,把这个标签放到需要的地方就行了
	}
}
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值