Response Headers的Content-Type值为image/jpeg,如何展示在前端页面

Response Headers中Content-Type:image/jpeg
Response Headers的Content-Type值为image/jpeg,如何展示在前端页面_第1张图片
返回值Preview直接是一张图片
Response Headers的Content-Type值为image/jpeg,如何展示在前端页面_第2张图片
解决方案
1、设置responseType: ‘blob’

/**
 * 查询租户验证码图片
 *
 * @author 第三方
 * @date 2021-11-25 23:36:36
 */
export function codeImage(parameter, headers) {
    return serviceCopy({
        url: '/iam/common/codeImage',
        method: 'get',
        params: parameter,
        headers: headers,
        responseType: 'blob'
    })
}

2、使用Blob接收返回值并转换为URL

getCode(refresh = false) {
  if (!refresh && this.codeImg) return
  codeImage({ sid: this.uuid }, {}).then(res => {
    let blob = new Blob([res.data], { type: 'image/jpeg' })
    this.codeImg = window.URL.createObjectURL(blob)
  })
}

返回值格式
在这里插入图片描述
3、展示该图片

<img :src="codeImg" class="getCaptcha" @click="getCode" />

效果
Response Headers的Content-Type值为image/jpeg,如何展示在前端页面_第3张图片

你可能感兴趣的:(js,vue,vue.js)