36 lines
1.3 KiB
Markdown
36 lines
1.3 KiB
Markdown
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
|