A simple Streamlit-based web app to upload and share files using randomly generated access codes — no email or direct file sharing links needed.
- Upload Files: Generate a unique code for each uploaded file.
- Download Files: Retrieve files by entering the correct code.
- Secure Access: Only those with the code can download the file.
- Simple UI: Easy-to-use navigation with
Home,Upload, andDownloadoptions.
- Provides an overview and instructions on using the app.
- Upload a file.
- The app will generate a uuid.uuid4() code (uppercase letters + digits).
- You’ll receive a message displaying your unique code.
- Save this code! It’s required to download the file later.
- Enter the code you received when uploading the file.
- If a matching file exists, a download button will appear.
- Click the button to retrieve the file.
- In case you type wrong code you will get total 10 attempts to download the file.
- With Each attempt writing the code inside the text input increase by 5 seconds from previous
git clone https://github.com/abyshergill/File-Sharing-Web-App.git
cd File-Sharing-Web-Apppip install -r requirements.txtMake sure your main file is named main.py, then run:
streamlit run main.py📂 Project Structure
File-Sharing-Web-App/
├── main.py # Main Streamlit app
├── file_record_db/ # Database directory for sqlite
├ └── records.db # Database create after your first run
├── records/ # Utility folder for database operation
├ └── __init__.py
├ └── records.py
├── uploaded_files/ # Folder to store uploaded files
├── requirements.txt # List of Python dependencies
└── README.md # This file
└── license.txt🔒 Security Note
- This app stores uploaded files in a local folder (uploaded_files/).
- File access is controlled via random code generation.
- SQLite database or persistent storage is used for code mapping inside the uploaded_files directory.
📜 License MIT License | Author : shergillkuldeep@outlook.com