File size: 2,943 Bytes
ca8935b
7d7cace
0692ff6
 
de1ba67
 
 
 
 
0692ff6
a526566
0692ff6
 
 
35b583e
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
a526566
0692ff6
 
ca8935b
8dba553
c892be7
55c2f3f
 
 
 
 
 
 
 
 
 
c892be7
55c2f3f
 
 
 
 
c892be7
 
ccb54a0
 
 
 
 
 
 
 
 
 
19dad51
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
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(
    '<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.15.4/css/all.min.css"/> ',
    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("Upload File")

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("Delete File")

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("View Folder")

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("Recycle App")
    
    
    

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)