vue中将后端返回的二维码字符串生成二维码并下载

开发中遇到下载二维码,二维码是后端同学传过来的,需要解析后下载到本地。还是老规矩,看代码。

<el-button class="item-info-type-operation" type="text" @click="downloadShow(item)">下载二维码</el-button>

// 下载二维码
 downloadShow(item) {
     const that = this;
     download(item.activityCode).then((data) => {
         console.log(data);
         if (!data) {
             this.$message.warning("文件下载失败")
             return
         }
         if (typeof window.navigator.msSaveBlob !== 'undefined') {
             window.navigator.msSaveBlob(new Blob([data], { type: 'image/jpg' }), QRCode + '.jpg')
         } else {
             let url = window.URL.createObjectURL(new Blob([data], { type: 'image/jpg' }))
             console.log(url);
             let link = document.createElement('a')
             console.log(link);
             link.style.display = 'none'
             link.href = url
             link.setAttribute('download', 'QRCode.jpg')
             document.body.appendChild(link)
             link.click()
             document.body.removeChild(link); //下载完成移除元素
             window.URL.revokeObjectURL(url); //释放掉blob对象

         }
     })
 },

这样的话图片是可以下载,但是下载后的图片是没有二维码的。重点是需要在api接口中加一个responseType:‘blob’

export function getqrCode(activityCode){
    return request({
        url:`/answeronline/tv/download/${activityCode}`,
        method:'get',
        responseType:'blob'
    })
}

这样就能下载二维码,并且图片中也能显示二维码
在这里插入图片描述
在这里插入图片描述

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
要使用Vue生成字符串二维码,你可以使用vue-qr组件。在安装了vue-qr组件之后,你可以在Vue组件中使用它。你可以通过以下方式来实现: 1. 在你的项目中安装vue-qr组件,可以使用npm命令:npm install vue-qr --save。 2. 在需要生成二维码Vue组件中,导入vue-qr组件:import VueQR from 'vue-qr'。 3. 在该组件的template中,添加VueQR组件并传递相应的参数。例如,你可以设置text参数为需要生成二维码字符串,设置size参数为二维码的大小,设置margin参数为二维码图像的外边距等。 4. 使用生成的二维码组件,你可以将其放置在需要显示二维码的位置。 总结起来,使用vue-qr组件可以方便地在Vue项目中生成字符串二维码。你可以安装组件,导入组件并在需要生成二维码的地方使用该组件,同时可以根据需要传递相应的参数来自定义生成的二维码的样式。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *2* *3* [vue字符串生成二维码的相关组件](https://blog.csdn.net/qq_41231694/article/details/125314858)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 100%"] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值