示例 <a href="path/to/file.stp" download>Download STP File</a> 并不能实现点击直接下载文件,怎么解决
时间: 2024-03-22 14:41:18 浏览: 84
如果示例 `<a href="path/to/file.stp" download>Download STP File</a>` 并不能实现点击直接下载文件,可能是因为浏览器不支持 HTML5 的 `download` 属性。为了解决这个问题,您可以尝试使用 JavaScript 来实现点击直接下载文件的功能,例如:
```html
<a href="path/to/file.stp" id="downloadLink">Download STP File</a>
<script>
var downloadLink = document.getElementById('downloadLink');
downloadLink.addEventListener('click', function(event) {
event.preventDefault();
var xhr = new XMLHttpRequest();
xhr.open('GET', downloadLink.href, true);
xhr.responseType = 'blob';
xhr.onload = function() {
if (xhr.status === 200) {
var url = window.URL.createObjectURL(xhr.response);
var a = document.createElement('a');
a.style.display = 'none';
a.href = url;
a.download = downloadLink.getAttribute('download');
document.body.appendChild(a);
a.click();
window.URL.revokeObjectURL(url);
}
};
xhr.send();
});
</script>
```
这段代码会在用户点击下载链接时,使用 XMLHttpRequest 对象发送 GET 请求获取文件,并将其作为 Blob 对象返回。然后,它会创建一个 URL 对象来表示文件的 URL,将其赋值给一个创建的 `<a>` 元素,并设置 `download` 属性来指定文件名。最后,代码将创建的 `<a>` 元素添加到文档中,并触发其 `click` 事件,以便浏览器下载文件。
阅读全文