My app involves a bunch of audio that we use for data analysis. I want to add a page to serve the audio as links. but before that I want to be sure that I can fetch it from the streamlit server
Steps to reproduce
Place a valid wave file (ie. audio.wav) in static folder
start streamlit
fetch it with :8501/static/audio.wav
see white screen of death
Expected behavior:
browser get audio and have option to save or play
Actual behavior:
white screen of death (need to enable javascript error message)
Thank you for sharing your question with the community!
Your post is missing a code snippet and a link to your app’s GitHub repo. Please check out our guidelines on how to post an effective question here and update your post to help the community answer your question.
The static file serving feature only allows files with the following extensions to be served normally: ".jpg", ".jpeg", ".png", ".gif" .
Any other file (including .wav) will be sent with header Content-Type:text/plain which will cause browsers to render in plain text (in your case, white screen of death). This is included for security - other file types that need to render should be hosted outside the app.
I don’t see it on the public roadmap, so unfortunately I don’t have a timeline yet as to if and when support for other file formats will exist. Tagging @jcarroll in case there are such plans in the not-so-distant future.
That said, if you’d like to see this prioritized, please submit a feature request in Streamlit’s repo or upvote a related issue if one exists.
No concern from my side on adding .wav and maybe .mp3 to the list, can’t remember if there’s any obvious way to hack those formats or do malicious things.
Feel free to open a github issue for this and tag me (@sfc-gh-jcarroll) and @kajarenc and link to this discussion and we can see about getting it prioritized.