Files
E3FI2_Kamil_Filehosting/README.md
2025-03-29 12:10:25 +01:00

1.3 KiB

Dieses Projekt demonstriert die Umsetzung eines einfaches Dienstes mit flask (Routing), jinja2 (Templates) und sqlite3 in Python welches ermöglicht das Hochladen/Herunterladen von Dateien über Weboberfläche oder URL abruf.

Pre-Installation

  1. Installiere Abhängigkeiten. pip install flask jinja2 sqlite3

  2. Klone die Repository git clone https://git.raizen.me/raizen/E3FI2_Kamil_Filehosting.git

  3. Führe das Skript aus flask --app main.py run oder python -m flask --app main.py run

  4. In Webbrowser http://127.0.0.1:5000 öffen

Bedienung

Aus Perspektive der Nutzer:
1. Rufe index auf
2. Häge die Datei an das Formular, drücke auf Upload
3. Eine Übersicht mit Downloadlink wird angezeigt

Aus Perspektive der API:
1. Übergebe die Datei an das /upload Endpoint (format: file -> binary data, filename -> name der datei)
2. Aufruf von Downloads genau so wie Nutzer

Struktur

(host)/ -> Formular bei dem die Datei angehängt wird (nicht für API gedacht)
(host)/upload -> Formular oder API sendet die Datei an dieses Endpoint, als Rückgabe wird eine übersicht mit dem Link ausgegeben.
(host)/file/(id) -> Dateiübersicht die Name, Größe, Uploaddatum sowie den Downloadlink enthält (könnte für API nützlich sein)
(host)/file/(id)/download -> Startet den download von der Datei