Problem with download button on st.dataframes


  • The app is deployed on AWS as a Docker container.
  • Embedded on a Vue app.
  • Python 3.10.12
  • Streamlit 1.30.0 (Issue was present before updating)

For reference, this is the download I’m referring to:

Hello everyone! To make it short, I have an app that work as a dashboard, with multiple st.dataframes. The download of CSV is not something that I use often, but to my surprise when I tried I noticed the feature doesn’t work. I was pretty sure this wasn’t an issue before, so searched for info on this error to no avail and then tried to fix it.
From what I can gather the issue is with the app being embedded and restrictions on web browsers not allowing incoming download windows from iframes.

From dev tools while hitting download:

7673.0828a05e.chunk.js:2 Uncaught (in promise) DOMException: Failed to execute 'showSaveFilePicker' on 'Window': Cross origin sub frames aren't allowed to show a file picker.

I corroborated this by running the app directly from its container without embedding, where the download button works flawlessly.

That being said:

  1. Is there any plans to have a parameter to force a download directly to the download folder instead of the window modal appearing (the thing that fails while being embedded)?
  2. Is there a way to circumvent the issue at this point in time?

Any suggestion or advice is welcome.