How to download a file from dashboard


I want to be able to download a file from remote computer, using my node-red dashboard. specifically, I want to click a button on the dashboard that then generates a CSV file from my database and then download it. I have seen some solutions where people use hyperlinks and http nodes to do this. As far as I can see through, all those solutions require you to hardcode a specific hyperlink with a specific file name. I want to be able to download the file I just created and thus need to specify the file name on the fly from the code. I would appreciate any ideas on how I can do this.

you could easily adapt this

Replace the file node with your CSV generating code then pass it back to the endpoint.

Hi, Thanks for your reply.

I thought about that, but it still requires the use of a hyperlink to start off the http request. I would like to start the process with a button click. So I guess I need a way to activate a hyperlink with a button press. is there any way for me to do that?

You can style any hyperlink to look identical to a button.

lots of info

Another option is the use the "httpStatic" url setting to serve any files that exist in a public directory:

    // When httpAdminRoot is used to move the UI to a different root path, the
    // following property can be used to identify a directory of static content
    // that should be served at http://localhost:1880/.
    httpStatic: '/opt/nodered/public/',

The dashboard can then show a list of files that exist in the public directory, and clicking on them should try to either display or download the files contents (depending on the file extension).

This topic was automatically closed 30 days after the last reply. New replies are no longer allowed.