如何解决使用res.download
我有一条这样的路线:
exports.downloadFile = app => {
app.get('/install/download',(request,result) => {
result.download(`${__dirname}../../../public/exec/install.exe`,error => {
if (error) console.log("[FAILURE][RESOURCE] Could not download installation file\r\n");
else console.log("[SUCCESS][RESOURCE] Installation file has been downloaded\r\n");
});
});
}
通过这种途径,我试图确保当我单击按钮时,此文件被下载。当我单击该按钮时,会收到一条消息,指示成功,但是我的浏览器未指示任何下载,也没有提示我执行任何操作。我是否需要添加一些其他组件以确保其正常工作?
const downloadFile = () => {
const url = `${window.location.protocol}//${window.location.host}/install/download`;
fetch(url)
.catch(error => alertMessage(error.message));
}
我假设可能与没有.then
来处理提取有关,但是我不确定应该在其中添加什么,而且浏览器自动处理的文档给我的印象是这部分?
解决方法
您忘记传递一个下载名称参数。 请按如下所示修改下载功能。
result.download(`${__dirname}../../../public/exec/install.exe`,'install.exe',error => {
if (error) console.log("[FAILURE][RESOURCE] Could not download installation file\r\n");
else console.log("[SUCCESS][RESOURCE] Installation file has been downloaded\r\n");
});
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。