不懂就记的知识点(只针对于我自己)
2022-04-12 10:34 WEB前端小菜鸟 阅读(37) 评论(0) 编辑 收藏 举报cookie可用js-cookie库一般我自己写
proxy vue项目中改了配置都要重新启动一下(好久没写 生疏了)
一般登陆接口会返回token,为了安全起见呢,后端一般不会直接返回token(eg:res.data.token),一般返回在响应头response Header中,一般浏览器是不会让你去获取的,
一般通过使用 xhr.getResponseHeader()可以获取指定响应头字段值.使用 xhr.getAllResponseHeader() 可以获取所有响应字段值
eg:
let xhr = new XMLHttpRequest(); xhr.open('get', URL,true); xhr.send(); xhr.onreadystatechange = ()=>{ if(this.status == 200 && this.readyState == 4){ console.log(xhr.getResponseHeader('你想要获取的字段名') }else if(this.status == 404){ console.log("gg"); } }
xhr.getResponseHeader('token')就可以获取响应头里面的token了
一般图片后端返回的都是base64直接用,但今天后端返回的是一个图片流,

我要转成base64才能用,在获取图片接口中需要添加responseType:"arraybuffer",添加responseType之后获取的数据如下图

总结如下:
第一步:要设定请求的 responseType为arraybuffer。把文件流转化成固定的原始二进制数据缓冲区。
第二步:转化为data:image/png;base64,。其中data表示取得数据的协定名称,image/png 是数据类型名称,base64 是数据的编码方法,逗号后面就是这个image/png文件base64编码后的数据。
第三步:将base64字符赋值到img的src中。

图片没法copy,下面可copy
this.imgurl='data:image/png;base64,' + btoa(
new Uint8Array(response.data).reduce((data, byte) => data + String.fromCharCode(byte), '')
)
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY