I have this problem too, although in my case, the deployed server was functioning very well for ~12months until recently.
In my case, the download button would trigger a ggsave() to save a plot as .png. This worked beautifully, but now it tries to save as a HTML file, not PNG. My code hasn't changed, but could it be an under-the-hood change in the shiny function, or a shiny server update?