Flask Upload, mehrere Dateien
Verfasst: Mittwoch 16. Oktober 2019, 11:06
Hallo Leute,
ich möchte mehrere Dateien über meine Webseite auf den Server laden. Ich bekomme es leider nicht zum laufen.
ich möchte mehrere Dateien über meine Webseite auf den Server laden. Ich bekomme es leider nicht zum laufen.
Code: Alles auswählen
{% extends "layouts/main.html" %}
{% block content %}
<br>
<br>
<form method=post enctype=multipart/form-data>
Projektname
<input type="text" name="projectname">
<br>
File 1:
<input type="file" name="file1">
<br><br>
File 2:
<input type="file" name="file2">
<br><br>
File 3:
<input type="file" name="file3">
<br><br>
File 4:
<input type="file" name="file4">
<br><br>
<input type="submit" value="Dateien importieren"><br>
</form>
{% endblock %}
Code: Alles auswählen
from flask import Flask, render_template, request, flash, redirect, url_for, send_from_directory, send_file
from werkzeug.utils import secure_filename
from pathlib import Path
import time
upload_folder = Path.cwd() / "upload"
allowed_extensions = set(["txt", "csv"])
app = Flask(__name__)
def allowed_file(filename):
return "." in filename and \
filename.rsplit(".", 1)[1].lower() in allowed_extensions
@app.route("/omm_be", methods=["GET", "POST"])
def omm_be():
if request.method == "POST":
upload_files = [request.files["file1"], request.files["file2"], request.files["file3"], request.files["file4"]]
for file in upload_files:
if file not in request.files:
return redirect(request.url)
file = request.files[file]
if file.filename == "":
return redirect(request.url)
if allowed_file(file.filename):
be_timestamp = time.strftime("%Y%m%d_%H%M%S")
filename = secure_filename(file.filename)
projectname = request.form["projectname"]
database_import.be_create_project_folder(projectname, be_timestamp, upload_folder)
file.save(str(database_import.be_open_project_folder(projectname, be_timestamp, upload_folder) /database_import.be_file_name(filename, be_timestamp)))