使用window.location.href下载大文件
时间: 2023-07-17 17:56:47 浏览: 141
window.location.href可以用来实现下载文件的功能。具体实现方法是将文件的下载链接作为window.location.href的参数,当用户点击下载按钮时,浏览器会自动跳转到该链接并开始下载文件。例如:
window.location.href = "http://example.com/file.pdf";
相关问题
使用window.location.href下载文件 如何获取文件名
可以通过以下方式获取文件名:
```
// 获取完整文件路径
var filePath = window.location.href;
// 从文件路径中获取文件名
var fileName = filePath.substring(filePath.lastIndexOf('/')+1);
```
这里使用了 `substring` 方法和 `lastIndexOf` 方法来从完整的文件路径中获取文件名。`lastIndexOf` 方法返回指定字符串在字符串中最后出现的位置,如果没有找到指定字符串则返回 -1。在这里,我们使用它来找到最后一个斜杠 `/` 出现的位置,然后再使用 `substring` 方法来获取该位置之后的所有字符,即文件名。
使用window.location.href下载excel
为了使用window.location.href下载excel,你需要先将数据保存到excel文件中,然后使用以下代码在客户端下载:
```javascript
// 生成并下载excel文件
function downloadExcel(data) {
var blob = new Blob([data], {type: 'application/vnd.ms-excel'});
var url = URL.createObjectURL(blob);
var a = document.createElement('a');
a.href = url;
a.download = 'example.xlsx';
a.click();
URL.revokeObjectURL(url);
}
// 从服务器获取数据并生成excel文件
fetch('/getData')
.then(function(res) {
return res.json();
})
.then(function(data) {
// 将数据转换为excel文件
var wb = XLSX.utils.book_new();
var ws = XLSX.utils.json_to_sheet(data);
XLSX.utils.book_append_sheet(wb, ws, 'Sheet1');
var excelData = XLSX.write(wb, { bookType: 'xlsx', type: 'array' });
// 下载excel文件
downloadExcel(excelData);
});
```
在上面的代码中,我们首先从服务器获取数据,然后使用XLSX.js将数据转换为excel文件。最后,我们使用下载函数将excel文件下载到客户端。请注意,我们使用了Blob和URL.createObjectURL来生成文件下载链接。
阅读全文