允许网页弹出文件另存对话框
时间: 2023-10-18 20:04:13 浏览: 39
允许网页弹出文件另存对话框需要使用浏览器的API,具体方法如下:
1. 在 HTML 文件中添加一个下载链接,例如:
```html
<a href="https://example.com/download/file.pdf" download>下载PDF文件</a>
```
2. 使用 JavaScript 监听用户的点击事件,通过创建一个新的 Blob 对象和 URL 对象,将文件数据转换成可下载的 URL:
```javascript
const downloadLink = document.querySelector('a');
downloadLink.addEventListener('click', async (event) => {
event.preventDefault(); // 阻止默认下载行为
const response = await fetch(downloadLink.href);
const fileBlob = await response.blob();
const fileUrl = URL.createObjectURL(fileBlob);
const fileName = downloadLink.download || 'file'; // 获取文件名
const downloadAnchor = document.createElement('a');
downloadAnchor.href = fileUrl;
downloadAnchor.download = fileName;
document.body.appendChild(downloadAnchor);
downloadAnchor.click(); // 模拟点击下载链接
document.body.removeChild(downloadAnchor);
URL.revokeObjectURL(fileUrl); // 释放 Blob URL
});
```
3. 用户点击下载链接后,会弹出文件另存对话框,用户可以选择保存文件到本地。