vue使用file-saver插件保存各种格式文件方式

 更新时间:2024年07月01日 14:31:38   作者:Mr__proto__  
这篇文章主要介绍了vue使用file-saver插件保存各种格式文件方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教

使用file-saver插件保存各种格式文件方式

首先下载插件file-saver

npm install file-saver 

再封装组件

import FileSaver from "file-saver";
export default class fileSave {
    /**
     * 导出Excel文件
     * @param {*} res   文件流
     * @param {*} name  文件名
     */
    static getExcel(res, name) {
        console.log(res, name)
        let blob = new Blob([res], {
            type: "application/vnd.ms-excel"
        });
        FileSaver.saveAs(blob, name + ".xlsx");
    }

    /**
     * 导出CSV文件
     * @param {*} res   文件流
     * @param {*} name  文件名
     */
    static getCsv(res, name) {
        let blob = new Blob([res], {
            type: "application/vnd.ms-excel"
        });
        FileSaver.saveAs(blob, name + ".csv");
    }

    /**
     * 导出图片1
     * @param {*} url 图片地址
     * @param {*} name  文件名
     */
    static getImgURLs(url, name) {
            let last = url.substring(url.lastIndexOf("."), url.length);
            FileSaver.saveAs(url, `${name}${last}`);
        }
        /**
         * 导出图片2
         * @param {*} res 文件流
         * @param {*} name  文件名
         */
    static downLoadImg(res, filename) {
        let blob = new Blob([res], {
            type: "image/jpeg"
        });
        FileSaver.saveAs(blob, `${filename}.jpg`);
    }
}

vue导出文件(file-saver,vue2,vue3)

安装插件

npm install file-saver --save
// 如使用ts,安装file-saver的typeScript类型定义
npm install @types/file-saver --save-dev

导出的格式类型参考

文件后缀Type
.pdfapplication/pdf
.docapplication/msword
.docxapplication/vnd.openxmlformats-officedocument.wordprocessingml.document
.xlsapplication/vnd.ms-excel
.xlsxapplication/vnd.openxmlformats-officedocument.spreadsheetml.sheet
.pptapplication/vnd.ms-powerpoint
.pptxapplication/vnd.openxmlformats-officedocument.presentationml.presentation

基本使用

代码如下:

import { saveAs } from 'file-saver'

导出(下载文件):

//⚠️注意:需要配置你需要导出的文件类型
const blob = new Blob(['文件内容'], 
{ type: 'application/vnd.openxmlformats-officedocument.wordprocessingml.document'})

saveAs(blob,'导出的文件名字')

案例

import axios from 'axios'
import { saveAs } from 'file-saver'
 axios({
      method: 'get',
      url: url,
      responseType: 'blob',
      //注入token流,需要添加不需要则无需添加。
      headers: { 'Authorization': 'Bearer ' + getToken() }
    }).then(async (res) => {
        const blob = new Blob([res.data], { type: 'application/vnd.openxmlformats-            
        officedocument.wordprocessingml.document' })
        saveAs(blob, name)
      } else {
        console.log('接口报错')
      }
    })

总结

以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。

相关文章

  • vue-cli项目中怎么使用mock数据

    vue-cli项目中怎么使用mock数据

    本篇文章主要介绍了vue-cli项目中怎么使用mock数据 ,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2017-09-09
  • VueJs监听window.resize方法示例

    VueJs监听window.resize方法示例

    本篇文章主要介绍了VueJs监听window.resize方法示例,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2018-01-01
  • vue选项卡Tabs组件实现示例详解

    vue选项卡Tabs组件实现示例详解

    这篇文章主要为大家介绍了vue选项卡Tabs组件实现示例详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2022-11-11
  • vue3使用vuex实现页面实时更新数据实例教程(setup)

    vue3使用vuex实现页面实时更新数据实例教程(setup)

    在前端开发中往往会遇到页面需要实时刷新数据的情况,给用户最新的数据展示,这篇文章主要给大家介绍了关于vue3使用vuex实现页面实时更新数据(setup)的相关资料,需要的朋友可以参考下
    2022-09-09
  • vue日常开发基础Axios网络库封装

    vue日常开发基础Axios网络库封装

    这篇文章主要为大家介绍了vue日常开发基础Axios网络库封装示例详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2022-08-08
  • vue的.vue文件是怎么run起来的(vue-loader)

    vue的.vue文件是怎么run起来的(vue-loader)

    通过vue-loader,解析.vue文件,在webpack解析,拆解vue组件 ,本文通过实例代码给大家介绍的非常详细,具有一定的参考借鉴价值,需要的朋友参考下
    2018-12-12
  • 解决vite+vue3项目打包后图片不显示或者请求路径多了一个undefined问题

    解决vite+vue3项目打包后图片不显示或者请求路径多了一个undefined问题

    这篇文章主要介绍了解决vite+vue3项目打包后图片不显示或者请求路径多了一个undefined问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2025-05-05
  • vue3.0项目快速搭建的完整步骤记录

    vue3.0项目快速搭建的完整步骤记录

    这篇文章主要给大家介绍了关于vue3.0项目快速搭建的相关资料,本文通过图文以及实例代码介绍的非常详细,对大家学习或者使用vue3.0具有一定的参考学习价值,需要的朋友可以参考下
    2021-12-12
  • webpack项目调试以及独立打包配置文件的方法

    webpack项目调试以及独立打包配置文件的方法

    下面小编就为大家分享一篇webpack项目调试以及独立打包配置文件的方法,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2018-02-02
  • 配置vite.confgi.ts无法使用require问题以及解决

    配置vite.confgi.ts无法使用require问题以及解决

    这篇文章主要介绍了配置vite.confgi.ts无法使用require问题以及解决方案,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2023-05-05

最新评论