res.download() not working in my case

前端 未结 2 1166
眼角桃花
眼角桃花 2020-11-28 14:40

I am using nodejs and expressjs framework to download a file \'jsonFile.json\' from server.

i am using the following code

res.get(\'/download\', fun         


        
相关标签:
2条回答
  • 2020-11-28 15:02

    Just to confirm what @robert said,

    because this thing turned my head for two days, instead of using an ajax call, open a new window with your ajax request location, for example:

    window.open("http://yourserver.com/api/link?a=3&b=4")
    

    hope this helps someone.

    0 讨论(0)
  • Let Express set the correct headers and just do this:

    res.get('/download', function(req, res) {
      res.download(__dirname + 'jsonFile.json', 'jsonFile.json');
    });
    

    (doc)

    EDIT: since you're requesting /download through an AJAX call, you have to change your setup because most (all?) browsers will not show a download dialog in that case.

    Instead, you can create a new window from your front end code to trigger the dialog:

    window.open('/download?foo=bar&xxx=yyy');
    
    0 讨论(0)
提交回复
热议问题