import streamlit as st import os from streamlit_extras.stylable_container import stylable_container Logo_column, space_column, upload_column, delete_column, browse_column, recycle_column = st.columns(6) st.markdown( ' ', unsafe_allow_html=True, ) with upload_column: with stylable_container( key="upload_button", css_styles=r""" button p:before { font-family: 'Font Awesome 5 Free'; content: '\f574'; display: inline-block; padding-right: 3px; vertical-align: middle; font-weight: 900; } """, ): st.button(" ", key='upload') with delete_column: with stylable_container( key="delete_button", css_styles=r""" button p:before { font-family: 'Font Awesome 5 Free'; content: '\f1c3'; display: inline-block; padding-right: 3px; vertical-align: middle; font-weight: 900; } """, ): st.button(" ", key='delete') with browse_column: with stylable_container( key="view_button", css_styles=r""" button p:before { font-family: 'Font Awesome 5 Free'; content: '\f07c'; display: inline-block; padding-right: 3px; vertical-align: middle; font-weight: 900; } """, ): st.button(" ", key='view') with recycle_column: with stylable_container( key="recycle_button", css_styles=r""" button p:before { font-family: 'Font Awesome 5 Free'; content: '\f1b8'; display: inline-block; padding-right: 3px; vertical-align: middle; font-weight: 900; } """, ): st.button(" ", key='recycle') path = "/data" # Define the modal dialog function @st.dialog("Upload a File") def upload_file(): uploaded_file = st.file_uploader("Choose a file") if uploaded_file is not None: file_details = {"FileName":uploaded_file.name,"FileType":uploaded_file.type} st.write(file_details) with open(os.path.join(path,uploaded_file.name),"wb") as f: f.write(uploaded_file.getbuffer()) st.success("Saved File") # Main app st.write("Click the button to open the file upload dialog.") if st.button("Open File Dialog"): upload_file() # List all files in directory and subdirectories files = [] for root, dirs, file_names in os.walk(path): for file_name in file_names: files.append(os.path.join(root, file_name)) st.write(files)