File size: 2,687 Bytes
ca8935b
7d7cace
0692ff6
 
de1ba67
 
 
 
 
0692ff6
a526566
0692ff6
 
 
 
25f92b8
0692ff6
 
 
4037040
0692ff6
 
 
 
 
 
 
de1ba67
0692ff6
a526566
25f92b8
a526566
 
 
4037040
a526566
 
 
 
 
 
 
de1ba67
e4ab3ba
 
 
 
 
 
 
 
 
 
 
 
 
 
de1ba67
e4ab3ba
f70c4ff
e4ab3ba
 
 
 
 
 
 
 
 
 
 
 
de1ba67
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
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 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;
        }
        """,
):
    upload_column.button("Upload File")

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;
        }
        """,
):
    delete_column.button("Delete File")

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;
        }
        """,
):
    browse_column.button("View Folder")

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;
        }
        """,
):
    recycle_column.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)