|
|
|
import os |
|
import socket |
|
import time |
|
import streamlit as st |
|
|
|
|
|
|
|
progress_text = "File Transferring...Please Wait" |
|
|
|
|
|
|
|
from PIL import Image |
|
|
|
image = Image.open('img2.jpg') |
|
|
|
st.image(image) |
|
|
|
st.title('Reciver Page') |
|
st.divider() |
|
st.header("Share files easily, securely, and fast!") |
|
host = st.text_input("Host Name: ") |
|
sock = socket.socket(socket.AF_INET, socket.SOCK_STREAM) |
|
|
|
|
|
|
|
|
|
|
|
with st.spinner('Searching For Sender...'): |
|
time.sleep(3) |
|
try: |
|
sock.connect((host, 40000)) |
|
st.warning("Connected Successfully...",icon="✔") |
|
except: |
|
st.warning("Unable to connect",icon="⚠️") |
|
exit(0) |
|
|
|
|
|
file_name = sock.recv(100).decode() |
|
|
|
file_size = sock.recv(100).decode() |
|
|
|
|
|
with open("./rec/" + file_name, "wb") as file: |
|
c = 0 |
|
my_bar = st.progress(0, text=progress_text) |
|
st.write("Waiting for Sender to select the File") |
|
|
|
start_time = time.time() |
|
|
|
|
|
while c <= int(file_size): |
|
|
|
|
|
data = sock.recv(1024) |
|
if not (data): |
|
break |
|
file.write(data) |
|
|
|
c += len(data) |
|
|
|
|
|
|
|
end_time = time.time() |
|
for percent_complete in range(100): |
|
time.sleep(0.1) |
|
my_bar.progress(percent_complete + 1, text=progress_text) |
|
|
|
with open("./rec/" + file_name,"rb") as file: |
|
btn = st.download_button( |
|
label="Download File", |
|
data=file, |
|
file_name=file_name, |
|
|
|
) |
|
st.write("File transfer Complete.Total time: ", int(end_time - start_time)) |
|
|
|
|
|
sock.close() |
|
|
|
|
|
|
|
|
|
|