js接收参数下载文件保存在本地路径,给出具体代码
时间: 2024-10-19 20:03:15 浏览: 21
用js实现下载远程文件并保存在本地的脚本
在JavaScript中,可以使用`fetch`函数结合`Blob`对象以及`URL.createObjectURL`来创建下载链接,然后触发用户的下载操作。下面是一个简单的示例,演示如何下载文件并将其保存到用户选择的本地路径:
```javascript
function downloadFile(url, filename) {
// 创建一个请求
fetch(url)
.then(response => {
if (!response.ok) {
throw new Error('Network response was not ok');
}
// 检查是否是文件类型,如果是则返回Blob对象
return response.blob();
})
.then(blob => {
// 创建URL,允许跨域访问
const urlToDownload = URL.createObjectURL(blob);
// 创建隐藏的a标签用于下载
const aElement = document.createElement('a');
aElement.style.display = 'none';
aElement.href = urlToDownload;
aElement.download = filename;
// 触发点击事件模拟下载
document.body.appendChild(aElement);
aElement.click();
// 清除临时URL
setTimeout(() => URL.revokeObjectURL(urlToDownload), 0);
})
.catch(error => {
console.error('Error downloading file:', error);
});
}
// 调用函数,例如下载名为'doc.pdf'的文件
downloadFile('https://example.com/file.docx', 'doc.pdf');
阅读全文