从我的Node.js服务器下载文件时出错

我试图做一个下载链接在我的服务器上的zip文件,我目前得到这个错误:(注意,仍然只是在本地机器上testing)

{ [Error: ENOENT: no such file or directory, stat 'C:\Users\Jordan\Desktop\Websites\HappyCamel\Users\Jordan\Desktop\Websites\HappyCamel'] errno: -4058, code: 'ENOENT', syscall: 'stat', path: 'C:\\Users\\Jordan\\Desktop\\Websites\\HappyCamel\\Users\\Jordan\\Desktop\\Websites\\HappyCamel', expose: false, statusCode: 404, status: 404 } 

相关的代码是这样的:

 router.get('/file/:name', function(req, res, next) { console.log('test123'); //successfully prints to console res.download('Users/Jordan/Desktop/Websites/HappyCamel/', 'test123.zip', function(err) { console.log('test456'); //successfully prints to console if(err) { console.log(err) //I'm assuming this is source of logged error } else { console.log("no error"); //doesn't print } }); }) 

编辑:

修改它与改变这一行:

 res.download('Users/Jordan/Desktop/Websites/HappyCamel/', 'test123.zip', function(err) { 

 res.download('./test123.zip', 'test123.zip', function(err) { 

但现在我明白了

 angular.min.js:114 ReferenceError: success is not defined 

错误在我的浏览器,但没有在我的节点控制台错误(我的“没有错误”行正在打印)

你正在使用相对path。 当你这样做时:

 res.download('Users/Jordan/Desktop/Websites/HappyCamel/', 'test123.zip', function(err) { 

它会在当前文件的目录中查找Users/Jordan/Desktop/Websites/HappyCamel/ 。 看起来像你需要的是完整的path,或更好的正确的相对path – 从它看起来像文件位于您的代码的错误,所以这应该做的:

 res.download('./', 'test123.zip', function(err) {