ajax实现下载文件功能

  • Post author:
  • Post category:其他




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标签并模板点击,实现下载功能.



版权声明:本文为wepe12原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。