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)))