Vue 实现文件的下载

  上次说了,实现文件的上传需要三步,那么实现文件的下载呢?

  答:也是三步

  第一步:获取文件的 fileId (或者别的什么的,总之应该是代表这个文件的东西),各家后台需要的都不一样

  第二步:调用接口

    this.$http({

      url:this.HOST + api.download,

      method:‘post‘,

      params:{

        fileId:fileId //此处上传第一步获取到的 fileid

      },

      responseType:‘arraybuffer‘ //此处注意请求头

      }).then(function(res){

        var this = that

        var fileName = that.files.name //此处获取文件名称

        that.download(res.data,fileName) //此处跳转到第三步

      })

  

  第三步:处理返回值,并下载

      

    download (data,fileName) {

      if (!data) {

        return

      }

      let url = window.URL.createObjectURL(new Blob([data])) //创建下载链接

      let link = document.createElement(‘a‘) //创建a标签

      link.style.display = ‘none‘  //将a标签隐藏

      link.href = url  //给a标签添加下载链接

      link.setAttribute(‘download‘, fileName) // 此处注意,要给a标签添加一个download属性,属性值就是文件名称 否则下载出来的文件是没有属性的,空白白

      document.body.appendChild(link)

      link.click()  //执行a标签

      }

    

    

   

原文地址:https://www.cnblogs.com/-moon/p/11375171.html

时间: 2024-08-30 03:28:04

Vue 实现文件的下载的相关文章

腾讯对象存储服务COS加密签名上传文件与下载文件的剖析,福利提供给所有使用Android的小伙伴们!

在做一些用户需求的时候,公司往往需要工程师采集到更多有用的关于用户的个人信息,然后对用户群进行分析,今天我不是来分析这些的,今天我主要是说 腾讯推出的款云产品,那就是对象存储服务COS,这个产品面向所有开发者,新用户都有免费享有10G的使用权,10G可能对于做方案的工程师来说可能是微不 足道的,比如后视镜和车载方案,会常常需要用到视频的存储与云分享,当然这里不是只本地存储哦,我指的是用户在使用方案商的方案的时候,比如他开车 的时候录了一段视频需要分享到某个域,共享给大家看,比如微信,这时候他肯定

iOS开发之网络编程--使用NSURLConnection实现大文件断点续传下载+使用输出流代替文件句柄

前言:本篇讲解,在前篇iOS开发之网络编程--使用NSURLConnection实现大文件断点续传下载的基础上,使用输出流代替文件句柄实现大文件断点续传.    在实际开发中,输入输出流用的比较少,但是用起来也是很方便的.iOS开发用到的输入输出流和在Java中的输入输出流是几乎一样的,本质也是一个意思:将网络返回的数据当做流来处理.    输入输出的理解:输入到哪里?输出到哪里?这个问题不难理解,输入输出是要站着服务器角度来思考的,下面用图来解释:    代码关键词: 1.在接收到响应头的代理

IIS 设置文件可下载

IIS遇到了文件不能下载的问题.为了让IIS能下载扩展名是INI的文件,我们需要如此操作:(括号内的是英文版本的名字) 打开"IIS管理器(InternetInformationServices(IIS)Manager)" 选择到你的站点.单击右键.选择"属性(Properties)" 单击"HTTP头(HTTPHeaders)"选项卡 单击"MIME类型(MIMETypes)" 单击"新建(NEW)" 在

大文件断点下载

(1)实现思路 在下载文件的时候不再是整块的从头开始下载,而是看当前文件已经下载到哪个地方,然后从该地方接着往后面下载.可以通过在请求对象中设置请求头实现. (2)解决方案(设置请求头) //2.创建请求对象 NSMutableURLRequest *request = [NSMutableURLRequest requestWithURL:url]; //2.1 设置下载文件的某一部分 // 只要设置HTTP请求头的Range属性, 就可以实现从指定位置开始下载 /* 表示头500个字节:Ra

大文件的下载

(1)实现思路 边接收数据边写文件以解决内存越来越大的问题 (2)核心代码 //当接收到服务器响应的时候调用,该方法只会调用一次 -(void)connection:(NSURLConnection *)connection didReceiveResponse:(NSURLResponse *)response { //0.获得当前要下载文件的总大小(通过响应头得到) NSHTTPURLResponse *res = (NSHTTPURLResponse *)response; self.to

简单的上传文件和下载文件

简单的上传文件和下载文件: request.setCharacterEncoding("utf-8"); / *设置编码格式 */ response.setContentType("application/msword");  /*使浏览器能区分数据的种类,这里是word文件类型*/ Part part = request.getPart("files"); /*取的需要上传的文件*/ String path = this.getServletC

Jmeter和LR上传文件和下载

Jmeter和LR上传文件和下载 背景: 在某个申请业务中,需要上传附件文件,然后才能提交该申请 遇到的问题: 1,  在使用Jmeter或者LR进行录制时,无法录制到上传文件的请求,只能通过Fiddler能查看到该请求 2,  因为录制不下来,只能手工构造,但网上相关的材料太少. 所以在这里整理备忘 Fiddler录制得到的请求的Header和Body如下面的两个截屏 body 截图如上,注意Header截图[Content-Type:multipart/form-data;boundary=

java文本、表格word转换生成PDF加密文件代码下载

原文:java文本.表格word转换生成PDF加密文件代码下载 代码下载地址:http://www.zuidaima.com/share/1550463239146496.htm 这个实现了PDF加密功能,和一些基本的问题. java文本.表格word转换生成PDF加密文件代码下载,布布扣,bubuko.com

ArcGIS10.2.1精简版、ArcGIS_Desktop10_Tutorial、破解文件等下载地址

原版ArcGIS for Desktop的ISO文件一般都在4.5G以上,一般人用不上里面很多工具,下载回来又浪费时间,现推出ArcGIS10.2.1精简版(里面只包含主程序.Data Interoperability和License工具).下载地址: http://pan.baidu.com/s/1jGp23t0 令外放出ArcGIS_Desktop10_Tutorial,需要的同学赶快了.ArcGIS10.2.1精简版.ArcGIS_Desktop10_Tutorial.破解文件等下载 出处