后端返回svg文件流前端展示并下载

文章讲述了如何在前端对后端返回的SVGXML内容进行处理,实现预览(在浏览器中打开)和下载(保存为本地文件)的功能。使用Blob对象和createObjectURL方法,结合创建动态a标签来触发下载。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

如图,后端返回的svg内容直接是一个xml文件。
在这里插入图片描述

需要前端进行展示并下载。
在这里插入图片描述
前端有两个功能,一个是预览(在浏览器中打开svg),一个是下载(将svg下载到本地)
预览的代码:

this.showDataByBlob(data, { type: 'image/svg+xml' })	// data里就是我上边截图的xml内容

showDataByBlob(data, options) {
  const blob = new Blob([data], options)
  const href = window.URL.createObjectURL(blob)
  window.open(href)
},

这样就能将svg在浏览器中打开啦!
效果如图:
在这里插入图片描述

下载的代码:

this.exportDataByBlob(data, { type: 'image/svg+xml' }, 'test.svg')

 exportDataByBlob(data, options, fileName) {
   const blob = new Blob([data], options)
   const downloadElement = document.createElement('a')
   const href = window.URL.createObjectURL(blob)
   downloadElement.href = href
   downloadElement.download = fileName
   document.body.appendChild(downloadElement)
   downloadElement.click()
   document.body.removeChild(downloadElement)
   window.URL.revokeObjectURL(href)
 },

效果如下:
在这里插入图片描述

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值