前端点击按钮在下载前出现另存为弹窗,用户填写名字和选择路径之后进行下载
时间: 2023-07-16 14:13:19 浏览: 155
你可以使用JavaScript中的Blob对象和URL.createObjectURL()方法来实现这个功能。
首先,在点击下载按钮时,创建一个Blob对象,将数据存储在其中。然后,使用URL.createObjectURL()方法创建一个URL,将其作为下载链接的href属性值,并设置下载链接的download属性为下载的文件名。最后,将下载链接添加到DOM中,触发点击事件,即可弹出另存为对话框,用户填写名字和选择路径之后进行下载。
以下是一个示例代码:
```javascript
function downloadFile(data, fileName) {
const blob = new Blob([data], { type: 'application/octet-stream' });
const url = URL.createObjectURL(blob);
const link = document.createElement('a');
link.href = url;
link.download = fileName;
document.body.appendChild(link);
link.click();
document.body.removeChild(link);
URL.revokeObjectURL(url);
}
// 调用示例
const data = 'hello, world!';
const fileName = 'example.txt';
downloadFile(data, fileName);
```
在上面的示例中,我们将字符串"data"保存到Blob对象中,并使用URL.createObjectURL()方法创建一个URL。然后,我们创建一个链接元素,设置它的href和download属性,并将其添加到DOM中。最后,我们触发链接的点击事件,弹出另存为对话框,用户填写文件名和选择路径后进行下载。
阅读全文