从我的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) {