ajax实现下载文件功能

这篇具有很好参考价值的文章主要介绍了ajax实现下载文件功能。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

JS 获取URL并实现下载功能

最近在做下载功能,因为后端需要生成PDF并上传到云服务器,只返回文件的URL,所以百度了很多找到了一个简单的方法.

Blob

Blob(Binary Large Object)表示二进制类型的大对象。在数据库管理系统中,将二进制数据存储为一个单一个体的集合。Blob 通常是影像、声音或多媒体文件。在 JavaScript 中 Blob 类型的对象表示不可变的类似文件对象的原始数据。 详细介绍可自行百度.

ajax获取服务器返回的url

	$.ajax({
	 url:'xxx',
	    type: 'post',
	    data: data,
	})

实现下载功能

$.ajax({
   url:'xxx',
    type: 'post',
    data: data,
})
fetch(此处为url路径).then((response) => response.blob())
.then((res) =>{
    var blob = new Blob([res])
    var link = document.createElement('a');
    link.href = window.URL.createObjectURL(blob);
    link.download='a.pdf';
    link.click();
})

此种方法将图片转为blob类型,创建a标签并模板点击,实现下载功能.文章来源地址https://www.toymoban.com/news/detail-608856.html

到了这里,关于ajax实现下载文件功能的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 前端下载文件的几种方式使用Blob下载文件

    前端下载文件的几种方式 使用Blob下载文件 在前端下载文件是个很通用的需求,一般后端会提供下载的方式有两种: 1.直接返回文件的 网络地址 (一般用在静态文件上,比如图片以及各种音视频资源等) 2.返回 文件流 (一般用在动态文件上,比如根据前端选择,导出不同的

    2024年02月05日
    浏览(53)
  • 前端基于axios请求下载文件(后端返回Blob文件流)

    前端小白第一篇csdn文章就当自己记录学习啦! 我自己遇到的情况写在前面防止有人和我不一样,浪费时间浏览; 调用下载接口后端给我返回的数据格式(即文件流格式)如下: 1.按钮定义点击事件 2.调用后端接口 在使用 axios 请求下载文件 api 接口时,注意区分不同请求方法

    2024年02月11日
    浏览(64)
  • 前端下载文件流,设置返回值类型responseType:‘blob‘无效的问题

    本是一个非常简单的请求,即是下载文件。通常的做法如下: 1.前端通过Vue Axios向后端请求,同时在请求中设置响应体为Blob格式。 2.后端相应前端的请求,同时返回Blob格式的文件给到前端(如果没有步骤1设置响应体,则后端返回的是一个文件流,前端) 3.前端创建a标签进行

    2024年01月17日
    浏览(72)
  • 前端实现文件下载功能——文件流

    前端下载文件一般使用的是blob 核心的步骤是获取后端响应的文件流,用blob创建一个临时的URL,然后创建一个隐藏的a标签,实现下载需求。 那就先上代码 如果后端响应的数据是一个二进制数据,那我们就得这是响应类型是blob,否则浏览器会默认按照json解析 至于后端如何向

    2024年02月11日
    浏览(52)
  • vue 后端返回二进制流-前端通过blob对象下载文件-图片

    前言 在实际开发中我们经常会遇见下载文件的场景,比如下载合同,下载文件 下载文件有2种方式,一种是后端返回二进制流,前端通过blob对象接受根据不同类型下载 还有一种把地址直接在浏览器新窗口打开浏览器打开pdf可以预览和下载,其他文件直接下载 但不管是那种方

    2024年02月05日
    浏览(80)
  • 前端发送请求获取后端文件,并且前端实现下载文件功能

    最近遇到一个需求,就是前端发送post请求获取后端的excel文件,并且前端实现下载导出到本地的功能。 前端页面就长上面那样,一个批量导出功能,用户勾选之后,前端通过接口把id和其他的参数传给后端,接口调用方法这里需要注意的是,这里必须设置responseType: ‘blob’

    2024年02月09日
    浏览(47)
  • 后端返回文件流,前端用blob转换后,下载的文件乱码或者打不开怎么解决

    1、确认接口有没有设置 responseType: “blob” 2、使用blob转换,res 是 后端返回的文件流 3、如果文件还是打不开,提示文件格式不对……,那就看看项目中有没有引用 mockJs ,有的话注释掉就可以啦

    2024年02月16日
    浏览(65)
  • 前端实现流文件下载、导出功能解决方案

    1、封装下载方法(可以通过挂载在vue实例上成为全局函数) 2、调用下载方法 ·1、处理响应拦截器返回的数据,将文件名暴露暴露出去 2、封装下载方法 3、调用下载方法 问题一:后端返回的数据无法解析 在请求函数中添加响应类型以及响应头 问题二、后端返回的文件名经

    2024年04月23日
    浏览(34)
  • JS实现Blob文件流下载

    在 JavaScript 中,可以使用浏览器提供的 Blob 对象和 URL.createObjectURL() 方法来实现文件流下载。 下面是一个示例代码,可以帮助了解如何在 JavaScript 中实现文件流下载: 在这个示例中,我们定义了一个 downloadFile() 函数,这个函数接受三个参数: data 、 filename 和 type 。其中,

    2024年02月15日
    浏览(54)
  • Java后端向前端返回文件流——实现下载功能

    前端实现文件下载功能有多种方法,这里就不一一介绍,这里只介绍使用文件流下载的实现方法。 既然是文件流那就肯定需要给前端返回一堆二进制编码,作为后端就可以返回一个 OutPutStream 后端可以使用Java中servlet提供的 HttpServletResponse ,核心步骤是要设置响应的数据类型

    2024年02月11日
    浏览(49)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包