位置: IT常识 - 正文

vue关于下载文件常用的几种方式(vue文件下载功能)

编辑:rootadmin
这篇文章主要介绍了vue关于下载文件常用的几种方式,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教 目录

推荐整理分享vue关于下载文件常用的几种方式(vue文件下载功能),希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:vue下载项目中的文件,vue实现文件下载功能,vue实现下载文件,vue文件下载功能,vue中下载文件,vue实现文件下载功能,vue文件下载直接在界面展示,vue实现文件下载功能,内容如对您有帮助,希望把文章链接给更多的朋友!

vue下载文件常用方式直接打开我们可以自己封装一个方法vue常用的命令创建vue项目常用命令vue项目部署启动项目总结vue下载文件常用方式直接打开

直接打开是指我们直接使用window.open(URL)的方法

优点:简单操作缺点:没办法携带token我们可以自己封装一个方法

比如如下:

import axios from "axios"import * as auth from '@/utils/auth.js'let ajax = axios.create({    baseURL: process.env.VUE_APP_BASE_API,    timeout: 100000});ajax.interceptors.request.use(config => {        config.headers = {            Authorization: auth.getToken(),            // OrgId: auth.getUser().orgId,            // UserId: auth.getUser().id,        }        return config    },    err => {        return Promise.reject(err)    })let downloadFile = async (url, formData, options) => {    await ajax.post(url, formData, {responseType: 'arraybuffer'}).then(resp => download(resp, options))}let getFile = async (url, options) => {    await ajax.get(url, {responseType: 'blob'}).then(resp => download(resp, options))}let download = (resp, options) => {    let blob = new Blob([resp.data], {type: options.fileType ? options.fileType : 'application/octet-binary'})    //创建下载的链接    let href = window.URL.createObjectURL(blob)    downloadBlob(href, options.fileName)}let downloadBlob = (blobUrl, fileName, revokeObjectURL) => {    let downloadElement = document.createElement('a')    downloadElement.href = blobUrl    //下载后文件名    downloadElement.download = fileName    document.body.appendChild(downloadElement)    //点击下载    downloadElement.click()    //下载完成移除元素    document.body.removeChild(downloadElement)    if (revokeObjectURL == null || revokeObjectURL) {        //释放掉blob对象        window.URL.revokeObjectURL(blobUrl)    }}let getDownloadFileUrl = async (url, fileType) => {    let blob    await ajax.get(url, {responseType: 'blob'}).then(resp => {        blob = new Blob([resp.data], {type: fileType ? fileType : 'application/octet-binary'});    })    return window.URL.createObjectURL(blob);}let getDownloadFileUrlByPost = async (url, data, fileType) => {    let blob    await ajax.post(url, data, {responseType: 'blob'}).then(resp => {        blob = new Blob([resp.data], {type: fileType ? fileType : 'application/octet-binary'});    })    return window.URL.createObjectURL(blob);}let getDownloadFileBlob = async (url, fileType) => {    let blob    await ajax.get(url, {responseType: 'blob'}).then(resp => {        blob = new Blob([resp.data], {type: fileType ? fileType : 'application/octet-binary'});    })    return blob;}export default {    ajax,    downloadFile,    getFile,    getDownloadFileUrl,    getDownloadFileUrlByPost,    getDownloadFileBlob,    downloadBlob}

然后在我们调用的那个页面中直接引入使用就好啦

//先引用import ajax from '../../utils/ajax.js'//使用ajax.downloadFile('URL',null,{下载的文件名称})

这样看是不是就挺容易的

vue常用的命令创建vue项目常用命令

如果vue项目出错了你可以把依赖删掉,清理一下缓存在重新安装

清理缓存 npm cache clean --force

第一步,创建淘宝镜像,安装npm镜像(如果已经安装的就直接第二步就可以了)

npm install -g cnpm --registry=https://registry.npm.taobao.org

第二步, 全局安装vue-vli

npm install --g vue-cli

第三步, 创建一个vue项目

vue init webpack 项目名

vue项目部署npm install启动项目npm run dev/npm run serve

1、安装element_ui

npm i element-ui -S

安装成功后在main.js中到导入element-ui,并使用

    import ElementUI from 'element-ui';    import 'element-ui/lib/theme-chalk/index.css';    Vue.use(ElementUI);

2、安装vue_router

npm install vue-router --save 

安装完成如果没有文件夹router(一般都有vue2.0下需要自己选择安装,vue3.0创建有)我们直接创建index.js文件。文件放入以下配置

import Vue from 'vue'import VueRouter from 'vue-router';Vue.use(VueRouter); import XXX "../src/components/xxx";  const routes = [  {    path:'/'    component: XXX  }, ] const router = new VueRouter({  routes}) export default router

要在main.js中应用router.js文件。我们需要在中放入router

import router from "../router";    new Vue({  router,  el: '#app',  components: { App },  template: '<App/>'})vue关于下载文件常用的几种方式(vue文件下载功能)

3、 安装axios组件,安装命令如下:

npm install --save vue-axios  

在main.js文件下引入如下代码:

import axios from 'axios'import VueAxios from 'vue-axios'Vue.use(VueAxios, axios)总结

1.安装vue-cli

npm install --global vue-cli

2.创建一个基于 webpack 模板的新项目

vue init webpack 项目名称

3.运行:npm run dev

4.安装依赖:cd 项目名称 npm install

5.安装vue-resource插件(通过XMLHttpRequest或JSONP发起请求并处理响应 //get post请求):npm install vue-resource --save

6.安装路由插件:

npm install vue-router --save

7.安装element-ui:

npm i element-ui -S(安装好之后要记得在main.js中引入)

8.安装axios npm install axios --save

9.安装Echarts npm install echarts --save

10.如果想要终止终端(cmd)正在运行的命令,则ctrl +c

11.安装指定版本jquery

npm i jquery@版本号

12.若项目中node_modules文件被删除,使用 npm install 即能把package.json中的dependencies中所有依赖项都下载回来

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

本文链接地址:https://www.jiuchutong.com/zhishi/304144.html 转载请保留说明!

上一篇:2022年可在苹果笔记本M1和M2芯片的Macos系统上运行的手机Alook浏览器-8倍速破解版-电脑学习网(苹果2021年在中国不能用了吗)

下一篇:时间格式的转换---全(时间格式转换成小时数)

  • 如何7步打造核心品牌营销推广方案(如何7步打造核酸检测)

    如何7步打造核心品牌营销推广方案(如何7步打造核酸检测)

  • 华为手环7如何遥控拍照(华为手环7如何换表带)

    华为手环7如何遥控拍照(华为手环7如何换表带)

  • 手机应用自动关闭怎么解决(手机应用自动关闭怎么弄)

    手机应用自动关闭怎么解决(手机应用自动关闭怎么弄)

  • 小米钱包怎么下载(小米钱包在哪下载软件)

    小米钱包怎么下载(小米钱包在哪下载软件)

  • 华为屏幕保修多久呢(华为屏幕保修几年)

    华为屏幕保修多久呢(华为屏幕保修几年)

  • 浪潮软件和浪潮信息有什么区别(浪潮软件和浪潮云的关系)

    浪潮软件和浪潮信息有什么区别(浪潮软件和浪潮云的关系)

  • 小米10青春版防水吗(小米10青春版防抖吗)

    小米10青春版防水吗(小米10青春版防抖吗)

  • ksaal10是什么型号(ksaal1o)

    ksaal10是什么型号(ksaal1o)

  • 卡贴机电信信号稳定吗(卡贴机电信1x)

    卡贴机电信信号稳定吗(卡贴机电信1x)

  • 识别二维码无法打开网页怎么办(识别二维码无法跳转怎么回事)

    识别二维码无法打开网页怎么办(识别二维码无法跳转怎么回事)

  • 苹果11无故关机什么原因(苹果无故关机过段时间又能开)

    苹果11无故关机什么原因(苹果无故关机过段时间又能开)

  • root权限有什么风险(root权限有什么风险吗安全吗)

    root权限有什么风险(root权限有什么风险吗安全吗)

  • 一手数据和二手数据的区别(一手数据和二手数据的例子)

    一手数据和二手数据的区别(一手数据和二手数据的例子)

  • 钉钉未激活能收到消息吗(钉钉未激活有什么影响)

    钉钉未激活能收到消息吗(钉钉未激活有什么影响)

  • 抖音可以安装在电脑上吗(抖音可以安装在小米电视上吗)

    抖音可以安装在电脑上吗(抖音可以安装在小米电视上吗)

  • 华为手机nova6怎么截图(华为手机nova6怎么拍月亮)

    华为手机nova6怎么截图(华为手机nova6怎么拍月亮)

  • obj文件怎么打开(文件dwg格式怎么打开)

    obj文件怎么打开(文件dwg格式怎么打开)

  • vivos1参数配置(vivos1参数配置6+256)

    vivos1参数配置(vivos1参数配置6+256)

  • wps文档怎么搜索关键字(wps文档怎么搜索关键词)

    wps文档怎么搜索关键字(wps文档怎么搜索关键词)

  • 拼多多怎么上传商品(拼多多怎么上传营业执照)

    拼多多怎么上传商品(拼多多怎么上传营业执照)

  • vsco扣费怎么追回(vsco扣款)

    vsco扣费怎么追回(vsco扣款)

  • 苹果手表怎么插电话卡(苹果手表怎么插卡使用教程视频)

    苹果手表怎么插电话卡(苹果手表怎么插卡使用教程视频)

  • mtkmt是什么处理器6768(mtk什么处理器)

    mtkmt是什么处理器6768(mtk什么处理器)

  • 华为gt手表自带贴膜吗(华为gt手表自带表盘怎么删除)

    华为gt手表自带贴膜吗(华为gt手表自带表盘怎么删除)

  • 辽宁高速通怎么使用(辽宁高速通怎么系统繁忙)

    辽宁高速通怎么使用(辽宁高速通怎么系统繁忙)

  • 用VSCode搭建Vue.js开发环境及Vue.js第一个应用(vscode搭建vue项目)

    用VSCode搭建Vue.js开发环境及Vue.js第一个应用(vscode搭建vue项目)

  • 安装服务费税率是多少
  • 出口退税分类管理办法最新
  • 一般纳税人企业所得税多久申报一次
  • 材料按实际成本计价时发出成本的计算方法有
  • 一年内到期的非流动负债是经营性负债吗
  • 货物退回是什么意思
  • 年末增值税需要计提吗
  • 发票的抵扣期限怎么填
  • 缴纳的增值税在资产负债表中怎么体现
  • 红字信息表跨月撤销有什么影响吗
  • 实收资本未到位情况说明
  • 票据贴现利息怎么做账
  • 跨国避税
  • 固定资产出租的收入计入什么科目
  • 企业购进货物发生的下列相关税费中,应计入货物
  • 由收款人签发,经付款人承兑
  • 高速过路费抵扣增值税
  • 其他非流动负债包括哪些科目
  • 没有收入是否可以入党
  • 普票名称错了税号没错
  • 什么是简易征收办法征收增值税
  • 提货卡的发票要盖章吗
  • 连续3个月增值税留抵
  • 小规模需要公账还是私账
  • 个体不超过10万怎么交税
  • 以前年度收入调整账务处理怎么做
  • 股票交易的印花税和手续费是多少
  • 所得税工资薪金允许税前扣除
  • 收到代收款怎么做分录
  • 废品损失的计算公式
  • 银行承兑汇票接收
  • 未分配利润分配利润分录
  • macOS Catalina10.15.2值得升级吗 macOS Catalina10.15.2更新了什么
  • php7 数组
  • mac怎么共享文件
  • 汽车维修的发票的购买方
  • 增值税税率类型
  • 什么是增值税扣除标准
  • 其他应收款
  • 年末结转利润分配账户的借方余额表示
  • PHP:imagepolygon()的用法_GD库图像处理函数
  • 税务新政策解读
  • 向银行借入的资金属于什么
  • 增值税达不到起征点账务处理
  • php 格式化字符串
  • php读取php文件内容
  • 公司股东与公司往来怎么处理
  • 预收账款需要申请吗
  • 兼职人员的工资怎么做账
  • mysql索引原理及慢查询优化
  • css样式居中
  • 企业收到的政府无偿拨付的款项应当全部计入递延收益
  • sql server分为哪两类
  • 承典人是什么意思
  • 有进项发票没有销项发票怎样做账
  • 2021年购买土地需要缴纳什么税
  • 自然灾害的原因有哪些
  • 经营费用属于什么类科目
  • 无法收回的款项怎么记账
  • 微信转账和支付宝转账哪个更安全
  • 企业所得税退税会计分录
  • 房地产企业预收账款
  • 建筑企业案例
  • 明年发票可以入到今年有什么惩罚
  • 怎么样建账做账
  • mysql 5.7.11 winx64安装配置方法图文教程
  • php的每条语句以什么结尾
  • 使用u盘安装windows10电脑识别不出来
  • win xp怎么样
  • Mac应用程序的格式
  • gzip: stdin: unexpected end of file tar: Unexpected EOF in archive tar: Unexpect
  • nodejs回调函数返回值如何传递给其它函数
  • Web Inspector:关于在 Sublime Text 中调试Js的介绍
  • IEnumerator/ IEnumerable/ yield return/ StartCoroutine 详解
  • Jquery和BigFileUpload实现大文件上传及进度条显示
  • android editText inputType 各个字段的含义
  • 福建 退休
  • 江西省税务局官网查询系统
  • 临时工和季节工需要交社保吗合法吗
  • 2018年北京个人所得税查询
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

    网站地图: 企业信息 工商信息 财税知识 网络常识 编程技术

    友情链接: 武汉网站建设