vue 后端直接返回图片流,前端怎么直接显示在页面上


我网上搜了一下,说window.URL.createObjectURL(res)可以但是没有效果

fetchData() {

const id = this.$route.query.companyId

getCusInfo(id).then(res => {

const _data = res.data

this.detail = _data

getFileDetail(_data.adAvatar).then(res => {

// const blob = new Blob([res.data], { type: 'image/png' })

// const url = window.URL.createObjectURL(blob)

// this.brandLogoUrl = url

const src = window.URL.createObjectURL(res)

this.brandLogoUrl = src

console.log('res', res)

})

console.log('brandLogoUrl', this.brandLogoUrl)

})

},

<el-form-item label="广告头像" prop="adAvatar">

<el-upload

class="avatar-uploader"

action="#"

:http-request="advertiserUpload2"

:show-file-list="false"

>

<img v-if="https://segmentfault.com/q/1010000023908567/adAvatarUrl" :src="https://segmentfault.com/q/1010000023908567/adAvatarUrl" class="avatar">

<i v-else class="el-icon-plus avatar-uploader-icon" />

</el-upload>

</el-form-item>

回答

后端设置一下response type就行了,为什么前端要这么麻烦地去处理

直接把 API 地址丢到 src 就可以了。

以上是 vue 后端直接返回图片流,前端怎么直接显示在页面上 的全部内容, 来源链接: utcz.com/a/42110.html

回到顶部