问题描述
我有一条这样的路线:
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");
});