广告
返回顶部
首页 > 资讯 > 精选 >vue后台如何返回格式为二进制流进行文件的下载
  • 495
分享到

vue后台如何返回格式为二进制流进行文件的下载

2023-06-30 18:06:07 495人浏览 八月长安
摘要

本篇内容主要讲解“Vue后台如何返回格式为二进制流进行文件的下载”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“vue后台如何返回格式为二进制流进行文件的下载”吧!后台返回格式为二进制流进行文件的

本篇内容主要讲解“Vue后台如何返回格式为二进制流进行文件的下载”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“vue后台如何返回格式为二进制流进行文件的下载”吧!

后台返回格式为二进制流进行文件的下载

结合项目

封装get请求携带token,进行接收二进制流

export function getHeader() {    const token = getToken();    if (token) {        return {            headers: {                "Authorization": "Bearer " + token,            }        }    }    return {        headers: {}    }} export function getHeader() {    const token = getToken();    if (token) {        return {            headers: {                "Authorization": "Bearer " + token,            }        }    }    return {        headers: {}    }}

具体文件使用

TaskManageServer.js文件:

export const dataExport2  = (vueObject, dataidList) =>  getDataRaw(vueObject,dataExport1(dataIdList)) export const dataExport1 = (dataIdList)=> {    var tmp ="";    for (let i = 0; i <dataIdList.length; i++) {        tmp+= dataIdList[i]+","    }    tmp = tmp.substr(0,tmp.length-1)    var url = getUrl('image/export/' + tmp);    return url;}

对应html文件具体使用:

 import {        dataExport1,        dataExport2    } from './TaskManageServer'const response = await dataExport2(this, this.dataIdList);let blob = new Blob([response.data], {    //下载的文件类型;    type: 'application/zip' })// let fileName = Date.parse(new Date()) + '.zip'(修改下载的文件名)if (window.navigator.msSaveOrOpenBlob) {    // navigator.msSaveBlob(blob, fileName)    navigator.msSaveBlob(blob)} else {    var link = document.createElement('a')    link.href = window.URL.createObjectURL(blob)    // link.download = fileName    link.click()    window.URL.revokeObjectURL(link.href) //释放内存}

即可实现下载二进制流文件。

vue下载保存二进制文件

方法封装:util.js

export function exportFile(file, name) {  let url = window.URL.createObjectURL(new Blob([file]));  let link = document.createElement("a");  link.style.display = "none";  link.href = url;  link.setAttribute("download", name);  document.body.appendChild(link);  link.click();   document.body.removeChild(link); // 下载完成移除元素  window.URL.revokeObjectURL(url); // 释放掉blob对象}

请求接口

在请求头加responseType: "arraybuffer" 

export function demoapi(data) {  return Http({    url: "/path/export",    method: "post",    responseType: "arraybuffer",    data,  });}

方法调用

demoApi(data).then(res=>{    if(res.staus==200){        let fileName = "";          let contentDisposition = res.headers["content-disposition"];          if (contentDisposition) {            fileName = window.decodeURI(              res.headers["content-disposition"].split("=")[1],              "UTF-8"            );//取文件名          }          exportFile(res.data, fileName);    }})

到此,相信大家对“vue后台如何返回格式为二进制流进行文件的下载”有了更深的了解,不妨来实际操作一番吧!这里是编程网网站,更多相关内容可以进入相关频道进行查询,关注我们,继续学习!

--结束END--

本文标题: vue后台如何返回格式为二进制流进行文件的下载

本文链接: https://www.lsjlt.com/news/330714.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • vue后台如何返回格式为二进制流进行文件的下载
    本篇内容主要讲解“vue后台如何返回格式为二进制流进行文件的下载”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“vue后台如何返回格式为二进制流进行文件的下载”吧!后台返回格式为二进制流进行文件的...
    99+
    2023-06-30
  • vue后台返回格式为二进制流进行文件的下载方式
    目录后台返回格式为二进制流进行文件的下载结合项目中具体文件使用vue下载保存二进制文件方法封装:util.js请求接口方法调用后台返回格式为二进制流进行文件的下载 结合项目中 封装g...
    99+
    2022-11-13
  • 后端接口返回文件流格式、前端如何实现文件下载导出呢?
    在项目开发过程中,难免会需要实现文件下载功能,记录下自己实际开发过程过程中遇到两种实现的方式。一种:后端直接返回加密url ,前端解密后直接使用 a标签下载就可以,这种方法相等比较简单,另一种:后端接...
    99+
    2023-09-02
    前端 java javascript
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作