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
-
Installiere Abhängigkeiten. pip install flask jinja2 sqlite3
-
Klone die Repository git clone https://git.raizen.me/raizen/E3FI2_Kamil_Filehosting.git
-
Führe das Skript aus flask --app main.py run oder python -m flask --app main.py run
-
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