vue axios请求图片流文件对应的前端展示方法

在做用户管理过程中,后台人员提供的是文件流,取到的文件流有时候是乱码,此时的相应操作;

1、axios的请求

我们使用token验证,所以请求头里面要加token信息
注意,这个responseType一定要是arraybuffer/blob的

let downLoadFile = function (url) {
    // config.headers['Authorization'] = token.tokenHead + ' ' + token.token;
    return new Promise(function (resolve, reject) {
        axios.get(url, {
            responseType: 'arraybuffer', // 或者responseType: 'blob'
            // xsrfHeaderName: 'Authorization',
            headers: {
                'Content-Type': 'application/json',
                'Authorization': token.tokenHead + ' ' + token.token
            }
        }).then(res => {
            if (res.status === 200) {
                resolve(res.data);
            } else {
                reject('***请求出错***')
            }
        })
    // }).then(function (r) {
    //     console.log('Done:', r);
    }).catch(function (reason) {
        console.log('Failed:', reason);
    })
    
}

2、返回结果处理

downLoadFile('/admin-provider/user/getUserPicById/' + datas.userId).then(data => {
                     this.fileField = 'data:image/png;base64,' + btoa(new Uint8Array(data).reduce((data, byte) => data + String.fromCharCode(byte), ''))
                 })

3、页面操作

<img :src="fileField ">
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • 青翠满山头,烟霞到处有。 古刹逾千年,泉水万里流。
    邹永志阅读 2,532评论 5 8
  • Y燕_bf61阅读 2,622评论 2 3
  • 现在的日子就是,看书学习成为了一种习惯,无所事事的打游戏看电影反而是浪费时间
    PIkoo灬阅读 1,351评论 0 0
  • Exception和Error两者都是Throwable的子类,java中的使用如下: try { throw n...
    qzsang阅读 1,504评论 0 0
  • 昨天自我感觉能量对等。和儿子谈了下作为学生,作为家庭成员,……该遵守的制度,该承担的责任和应尽的义务。最后我说:我...
    心若向阳王艳萍阅读 1,508评论 0 2

友情链接更多精彩内容