so ich denke das sollte für ne 3 reichen lol
This commit is contained in:
33
README.md
33
README.md
@@ -1,12 +1,35 @@
|
||||
Dieses Projekt demonstriert die Umsetzung eines einfaches Dienstes mit Python 3, Flask, sqlite3 und Caddy welches ermöglicht das Hochladen/Herunterladen von Dateien über Weboberfläche oder API.
|
||||
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.
|
||||
Debian-basierte Distributionen: sudo apt install caddy python
|
||||
pip install flask jinja2 sqlite3
|
||||
|
||||
pip install flask sqlite3
|
||||
2. Klone die Repository
|
||||
git clone https://git.raizen.me/raizen/E3FI2_Kamil_Filehosting.git
|
||||
|
||||
2. Editiere die Konfigurationsdatei von Caddy
|
||||
nano /etc/caddy/Caddyfile
|
||||
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
|
||||
|
||||
Reference in New Issue
Block a user