Datei Upload (Flask, Python & Datenbank)
Verfasst: Donnerstag 15. Juni 2017, 10:13
Hi zusammen,
ich möchte einen Dateiupload durchführen und stehe etwas auf dem Schlauch.
Hier mein Formular:
[codebox=html5 file=Unbenannt.html]<form method="post" enctype="multipart/form-data">
<label>Wählen Sie eine kompatible Datei aus<br>(*.doc,*.docx,*.xls,*.xlsx,*.ppt,*.pptx,*.pdf,*.css,*.html)
<input name="datei" type="file" size="50" accept="application/msword,application/vnd.openxmlformats-officedocument.wordprocessingml.document,application/vnd.ms-excel,application/vnd.openxmlformats-officedocument.spreadsheetml.sheet,application/vnd.ms-powerpoint,application/vnd.openxmlformats-officedocument.presentationml.presentation,application/pdf,text/css,text/html">
</label>
<button>Uploaden</button>
</form>[/code]
Nur die angegebenen Datei sollen hochgeladen werden dürfen.
Hier die Datenbanktabelle:
file_name varchar(100)
file_author varchar(45)
file_type varchar(45)
file_upload datetime
data_size int(8)
file_file LONGBLOB
Hier der dazugehörige Python Code:
f = request.files['datei'] -> das ist die hochgeladene Datei
session['username'] -> das ist der Autor
cur_time() -> Uploadzeitpunkt (Habe dazu eine eigene Funktion)
Nur wie komme ich nun an
- den Dateinamen (file_name)
- den Dateityp (file_type) z.B. pdf
- die Dateigröße (data_size)
???
Danke schonmal für die Hilfe im voraus
ich möchte einen Dateiupload durchführen und stehe etwas auf dem Schlauch.
Hier mein Formular:
[codebox=html5 file=Unbenannt.html]<form method="post" enctype="multipart/form-data">
<label>Wählen Sie eine kompatible Datei aus<br>(*.doc,*.docx,*.xls,*.xlsx,*.ppt,*.pptx,*.pdf,*.css,*.html)
<input name="datei" type="file" size="50" accept="application/msword,application/vnd.openxmlformats-officedocument.wordprocessingml.document,application/vnd.ms-excel,application/vnd.openxmlformats-officedocument.spreadsheetml.sheet,application/vnd.ms-powerpoint,application/vnd.openxmlformats-officedocument.presentationml.presentation,application/pdf,text/css,text/html">
</label>
<button>Uploaden</button>
</form>[/code]
Nur die angegebenen Datei sollen hochgeladen werden dürfen.
Hier die Datenbanktabelle:
file_name varchar(100)
file_author varchar(45)
file_type varchar(45)
file_upload datetime
data_size int(8)
file_file LONGBLOB
Hier der dazugehörige Python Code:
Code: Alles auswählen
@app.route('/upload', methods=['POST','GET'])
def upload():
if request.method == 'POST':
f = request.files['datei']
c = g.con.cursor()
c.execute("INSERT INTO file (file_file, file_name, file_author, file_type, file_upload, data_size) VALUES (%s, %s, %s, %s, %s, %s)",
(f, ))
g.con.commit()
c.close()
return 'Datei erfolgreich hochgeladen'
session['username'] -> das ist der Autor
cur_time() -> Uploadzeitpunkt (Habe dazu eine eigene Funktion)
Nur wie komme ich nun an
- den Dateinamen (file_name)
- den Dateityp (file_type) z.B. pdf
- die Dateigröße (data_size)
???
Danke schonmal für die Hilfe im voraus