2017-02-20 1 views
0

こんにちは、私は、彼らがボタンをクリックすると、ユーザはそれをダウンロードできるようにするために私のフロントエンドに私の特急サーバーからファイルを送信しようとしていますのためにクライアントにファイルを送信します。バックエンドでバイト配列を使ってルートを作成しましたが、ユーザーにダウンロードさせる方法は少ししかありません。私はここで何をしようとしているダウンロード

は1人のユーザーが自分のサーバーに直接ファイルをアップロードできるようですし、別のユーザーが来て、前の日にアップロードされたファイルをダウンロードします。

私は正常に動作するためにアップロード部分を得ています。今私はちょうどダウンロード部分の方向を逃しています。

ここに私の急行ルートが当たっています。ここ

const path = require('path'); 

const getFile = (req, res) => { 
    const filePath = path.join(__dirname, '../../../', req.query.file); 
    console.log(filePath); 
    res.download(filePath); 
}; 

download(file) { 
    axios.get('/api/download/getFile', { 
     params: { 
     file, 
     }, 
    }) 
    .then(data =>{ 
     console.log(data); 
     window.open(data.data); 
    }) 
    } 

私のフロントエンド機能のための私のonClickであり、これは私がボタンを

無効なURLでウィンドウを開くことができません

をクリックしたときに取得し続けるエラーです

私はURLを取得していないため私に意味をなさないバイト配列

+0

どのように 'window.open( '/ API /ダウンロード/ファイルはgetFile = yourfile?')について;'? –

+0

@RehbanKhatri haこれで3日間過ごしました。それは大変ありがとうございます。 –

+0

素晴らしいです!これを答えにしたいと思いますか? –

答えて

0

はこれを試してみてください -

window.open('/api/download/getFile?file=yourfile');