前端获取需认证图片资源的两种方法
<img>标签添加src之后,会自动发送get请求获取图片资源,但很多情况下,图片资源需要认证才能请求到的。有两种结局办法:一、使用cookie这个是非常常用的方法,将认证token放入cookie中发送至后台做认证。这种方法针对认证要求不高的情况,这种方法无法操作请求头二、异步请求,在请求头中添加authorization利用window对象下面的URL对象,URL通...
·
<img>标签添加src之后,会自动发送get请求获取图片资源,但很多情况下,图片资源需要认证才能请求到的。有两种结局办法:
一、使用cookie
这个是非常常用的方法,将认证token放入cookie中发送至后台做认证。这种方法针对认证要求不高的情况,这种方法无法操作请求头
二、异步请求,在请求头中添加authorization
利用window对象下面的URL对象,URL通过file创建一个对象赋值给imageUrl变量,元素的onload 事件触发后将销毁URL 对象(一分钟内),接着给src属性赋值后将追加到页面上,同时及时销毁URL对象释放内存
axios({
method: 'get',
responseType: 'blob',
url: url
}).then(res => {
// 创建img元素
let img = document.createElement('img')
// 如果已经存在img标签,也可以直接使用
// let img = document.getElementById('imgId')
img.onload = function () {
// 移出,释放内存
window.URL.revokeObjectURL(img.src)
}
img.src = window.URL.createObjectURL(res.data)
// 若为新建img元素,则将img添加到dom节点上即可
document.getElementById('parentDOM').appendChild(img)
})
魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。
更多推荐

所有评论(0)