2016-03-18 16 views
2

私のサーバー上でzipファイルのダウンロードリンクを作成しようとしていますが、現在このエラーが発生しています。(注:ローカルマシンでテストしています)Node.jsサーバーからファイルをダウンロード中にエラーが発生しました

{ [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('./test123.zip', 'test123.zip', function(err) { 

から

今は

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

私のブラウザ上の誤りが、私のノードのコンソールでエラーがない(私の "エラーなし" のラインが印刷される)

+0

このパスはありますか?あなたはUsers \ユーザーヨルダン.... \ユーザーを持っているので、構造が奇数に見える\ジョーダンは二回繰り返しました。あなたのダウンロードパスは、おそらく__dirnameのようなもの+「パス」 – ckross01

答えて

2

あなたを得ます相対パスを使用しています。

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

あなたの現在のファイルのディレクトリ内にUsers/Jordan/Desktop/Websites/HappyCamel/があります。あなたが必要とするものは完全なパスか、正しい相対パスであるかのように見えます。ファイルにコードがあるように見えますから、これは次のようになります:

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

おかげを持ちたいとしてより多くのですが、私は 'res.download(「./ test123.zip」、『test123.zip』にそれを変更することで、それを固定し、機能(ERR){ ' が、今私が手 ' angular.min.js:114にReferenceError:成功は私のブラウザ上で 、ノードからのエラーなしdefined'されていない、それがどうあるべきか任意のアイデアを。? –

関連する問題