1分钟了解js如何实现下载文件功能的4种方式

1、a标签下载 —可以直接下载txt、png、pdf、exe、xlsx等类型文件

downFile = (url) => {
    const a = document.createElement('a');
    a.style.display = 'none';
    a.download = 'xx';
    a.href = url;
    document.body.appendChild(a);
    a.click(); 
    document.body.removeChild(a);
    /*
	  * download: HTML5新增的属性
	  * url: 属性的地址必须是非跨域的地址
	   */
  };

2、new Blob 文件流下载

	//fileName : 设置下载的文件名称
	//filestream: 返回的文件流
	const blob = new Blob([filestream], {type: 'application/vnd.ms-excel'});
	const a = document.createElement('a');
	const href = window.URL.createObjectURL(blob); // 创建下载连接
	a.href = href;
	a.download = decodeURI(fileName );
	document.body.appendChild(a);
	a.click();
	document.body.removeChild(a); // 下载完移除元素
	window.URL.revokeObjectURL(href); // 释放掉blob对象

3、window.open下载

	window.open(url, '_self');
缺点:
	会出现URL长度限制问题
	需要注意url编码问题
	无法获取下载进度
	无法在header中携带token做鉴权操作
	无法判断接口是否成功
	无法直接下载浏览器可直接预览的文件类型(txt、png、pdf会直接预览)

4、location.href 下载

	window.location.href = url
缺点:
	会出现URL长度限制问题
	需要注意url编码问题
	无法获取下载进度
	无法在header中携带token做鉴权操作
	无法直接下载浏览器可直接预览的文件类型(txt、png、pdf会直接预览)
	无法判断接口是否返回成功
  • 12
    点赞
  • 42
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
### 回答1: 要实现在HTML中预览、下载和打印PDF文件,可以使用JavaScript配合一些开源工具和库来实现。 首先,需要选择一个合适的PDF阅读器工具。比较常用的有PDF.js、Viewer.js等。这些工具可以将PDF文件转换成HTML5可渲染的内容。可以在网上找到对应的JavaScript库,并将其引入到HTML页面中。 接下来,需要在HTML页面中创建一个元素来显示PDF文件内容。可以使用`<embed>`元素或者`<iframe>`元素来嵌入PDF内容。同时,需要给该元素指定一个ID,以便后续通过JavaScript来操作。 在JavaScript代码中,可以使用getElementById方法获取到PDF元素。然后,可以使用PDF阅读器工具提供的API,来实现预览、下载和打印等功能。 预览功能可以通过调用工具提供的`viewer`对象的`load`方法,传入PDF文件的URL来实现下载功能可以通过利用工具提供的`download`方法,传入PDF文件的URL来实现文件下载。打印功能可以使用工具提供的`print`方法,来触发浏览器打印功能实现这些功能时,可以根据需要进行一些附加设置,比如显示页面导航按钮、缩放控制、文档工具栏等。可以通过阅读工具的文档,了解这些设置的具体用法。 最后,可以通过CSS来自定义PDF的外观,比如设置宽高、边框样式等。 综上所述,使用JavaScript结合PDF阅读器工具可以实现在HTML中的PDF文件在线预览、下载和打印等功能。 ### 回答2: 要在网页中实现PDF文件的在线预览、下载和打印功能,可以使用JavaScript的一些库和技术。 首先,可以使用pdf.js库来在网页中实现PDF文件的预览功能。pdf.js库是一个开源的JavaScript库,可以直接在网页上渲染和显示PDF文件。你需要在网页中引入pdf.js库,并通过JavaScript代码加载和显示PDF文件。这样,用户就可以在网页上直接查看PDF文件的内容。 其次,为了实现下载功能,可以在网页中添加一个下载按钮或链接,并使用JavaScript的FileSaver库来实现文件下载。FileSaver库允许通过JavaScript代码将文件保存到用户的本地计算机上。当用户点击下载按钮或链接时,可以使用JavaScript代码将当前正在预览的PDF文件保存为一个文件,然后提供给用户进行下载。 最后,要实现打印功能,可以在网页中添加一个打印按钮,并使用JavaScript的print()函数来触发浏览器的打印功能。当用户点击打印按钮时,可以使用JavaScript代码调用print()函数,让浏览器打开打印对话框,并将当前正在预览的PDF文件送到打印机打印。 总结起来,要实现在网页中对PDF文件进行在线预览、下载和打印,你可以使用pdf.js库来渲染和显示PDF文件,使用FileSaver库实现下载功能,使用print()函数实现打印功能。通过JavaScript的操作,实现这些功能的同时,提供更好的用户体验和便利性。 ### 回答3: 要实现在HTML中实现PDF文件的在线预览、下载、打印等功能,首先我们需要借助JavaScript来操作PDF文件。 1. 在线预览:可以使用PDF.js库来实现在线预览PDF文件。PDF.js是一个使用JavaScript编写的开源库,可以在浏览器中直接渲染PDF文件。通过引入PDF.js库,我们可以在HTML页面中创建一个容器,然后使用JavaScript代码将PDF文件渲染到这个容器中,用户就可以直接在浏览器中预览PDF文件了。 2. 下载:要实现PDF文件下载功能,我们可以为用户提供一个下载链接。通过JavaScript代码,监听用户点击下载链接的事件,然后获取PDF文件的URL,再使用浏览器默认的下载功能下载该PDF文件。在HTML中,我们可以使用`a`标签的`download`属性来指定下载文件文件名。 3. 打印:要实现PDF文件的打印功能,我们可以使用JavaScript的`print`方法来触发浏览器的打印功能。通过监听用户点击打印按钮的事件,使用JavaScript代码调用`window.print()`方法,即可实现打印当前页面的功能。在打印预览页面中,用户可以选择打印的设备、设置页面的布局和大小等。 总结来说,通过使用JavaScript,在HTML中实现PDF文件的在线预览、下载、打印等功能是可行的。我们可以使用PDF.js库来实现在线预览,为用户提供下载链接来实现下载功能,同时使用JavaScript的`print`方法来触发浏览器的打印功能。这样用户就可以在浏览器中方便地预览、下载和打印PDF文件了。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值