zoukankan      html  css  js  c++  java
  • vue 转换信息为二进制 并实现下载

    项目后端为springboot,前端为vue

    后端在mysql数据库直接存储要下载的信息,mediumtext类型。

    需求:前端列表明细行有下载按钮,点击按钮时,通过Post请求拿到下载信息,并下载。

     1 download({ id: row.id }).then(response => {
     2     const blob = new Blob([response.data])
     3     const link = document.createElement('a')
     4     if ('download' in link) {
     5         link.download = row.fileName
     6         link.style.display = 'none'
     7         link.href = URL.createObjectURL(blob)
     8         document.body.appendChild(link)
     9         link.click()
    10         URL.revokeObjectURL(link.href)
    11         document.body.removeChild(link)
    12     } else {
    13         navigator.msSaveBlob(blob, row.fileName)
    14     }
    15 }).catch(() => {})

    代码是从网上查的,可以用。

    说白了就是接收后端传的信息(这里是字符串),先转换成blob二进制。

    创建一个a标签,设置其href属性为blob,设置download为下载后的文件名,点击,再移除。

    后端就是从数据库查询,返回要下载的信息,这里返回的是字符串。

  • 相关阅读:
    动态规划精讲(一)LC最长公共子序列
    0-1背包
    折线分割平面
    母牛的故事
    数塔
    70. 爬楼梯
    文件修改的两种方式
    文件处理练习
    文件处理
    购物车理解
  • 原文地址:https://www.cnblogs.com/SamNicole1809/p/12956534.html
Copyright © 2011-2022 走看看