Just wanted to close the loop for anyone that finds this post in the future. I was able to get the files to be saved with unique file names and to pull the most recent with the click of the "Download Data" button.
The trick ended up being http end points. When the button is clicked it redirects the browser to the
/test-results.csv
page. When the files are downloaded they all share the same name on the client pc "test-results.csv" - but on the server the files are stored with their unique names.
[{"id":"29609c41.1d0fb4","type":"http in","z":"26d1e667.74bb0a","name":"","url":"/test-results.csv","method":"get","upload":false,"swaggerDoc":"","x":410,"y":120,"wires":[["1dacd39a.1491cc"]]},{"id":"e58a1ac.6d31fe8","type":"file in","z":"26d1e667.74bb0a","name":"","filename":"","format":"","sendError":true,"x":810,"y":120,"wires":[["70727af2.b39474"]]},{"id":"70727af2.b39474","type":"change","z":"26d1e667.74bb0a","name":"Set Headers","rules":[{"t":"set","p":"headers","pt":"msg","to":"{}","tot":"json"},{"t":"set","p":"headers.content-type","pt":"msg","to":"text/csv","tot":"str"}],"action":"","property":"","from":"","to":"","reg":false,"x":970,"y":120,"wires":[["54282fe1.a3e85"]]},{"id":"54282fe1.a3e85","type":"http response","z":"26d1e667.74bb0a","name":"","statusCode":"","headers":{},"x":1130,"y":120,"wires":},{"id":"1dacd39a.1491cc","type":"function","z":"26d1e667.74bb0a","name":"Input filename","func":"msg.filename = String(global.get('datafilename'))\nreturn msg;","outputs":1,"noerr":0,"x":640,"y":120,"wires":[["e58a1ac.6d31fe8"]]}]