2017-08-15 8 views
-1

私が持っているURL:http://localhost:9999/file/bongda.PNGファイルのダウンロード2

私nodejsが公開ファイルのために役立つ使用して:私は、URL

からファイルをダウンロードしたい

application.use(express.static(path.join(__dirname, 'uploads'))); 

application.get('/file/:name', function (req, res, next) { 

    var options = { 
    root: __dirname + '/uploads/', 
    dotfiles: 'deny', 


    headers: { 
     'x-timestamp': Date.now(), 
     'x-sent': true 
    } 
    }; 
    console.log('Express server listening downloads '); 
    var fileName = req.params.name; 
    res.type('png'); 
    res.sendFile(fileName, options, function (err) { 
    if (err) { 
     next(err); 
    } else { 
     console.log('Sent:', fileName); 
    } 
    }); 

}); 

iを使用しています。<a href="window.location.href='http://localhost:9999/file/bongda.PNG'">123123</a> または

<a href="http://localhost:9999/file/bongda.PNG">123123</a> 

しかし、それは成功しません。 私を助けてください?

+0

を使用して、エラーメッセージは何ですか? – Adam

+0

メッセージが表示されない – user3089993

+0

http://imgur.com/a/1csrt – user3089993

答えて

0

あなたはHREFからjavascript:を見逃している:

<a href="javascript:window.location.href='http://localhost:9999/file/bongda.PNG'">123123</a> 

あなたの代わりにそれを開くと、ファイルをダウンロードするには、ブラウザを強制したい場合は、次の行は、あなたのバックエンドのコードを追加する必要があります。

res.setHeader('Content-disposition', 'attachment; filename=' + fileName); 
+0

:(それは開いていません。 – user3089993

+0

@ user3089993、私は答えを拡張しました。もう1つヘッダを送るべきです。 – Adam

+0

いいえ。 – user3089993

0
<a href="http://localhost:9999/video.mp4" download> Dowload Video </a> 

私は、HTML5のhref .ITのOK

関連する問題