Multiple file upload support

This commit is contained in:
Marijn Jansen
2019-03-22 14:55:16 +01:00
parent 4f03726a80
commit 3cd952898d
2 changed files with 16 additions and 14 deletions

26
app.py
View File

@@ -70,24 +70,26 @@ def file_uploaded():
if not request.form.get('password') == os.getenv('PASSWORD'): if not request.form.get('password') == os.getenv('PASSWORD'):
abort(401) abort(401)
# check if the post request has the file part # check if the post request has the file part
if 'file' not in request.files: if 'files' not in request.files:
# flash('No file part') # flash('No file part')
return abort(400) return abort(400)
# return redirect(request.url) # return redirect(request.url)
file = request.files['file'] files = request.files.getlist('files')
# if user does not select file, browser also # if user does not select file, browser also
# submit an empty part without filename # submit an empty part without filename
if file.filename == '': print(files)
# flash('No selected file') for file in files:
return redirect(request.url) if file.filename == '':
# flash('No selected file')
return redirect(request.url)
if file: if file:
data = standard_b64encode(file.read()).decode() data = standard_b64encode(file.read()).decode()
print(file.filename, file.mimetype) print(file.filename, file.mimetype)
print(data) database_object = ImageBase64(filename=file.filename, mimetype=file.mimetype, data=data)
database_object = ImageBase64(filename=file.filename, mimetype=file.mimetype, data=data) db.session.add(database_object)
db.session.add(database_object)
db.session.commit() db.session.commit()
# if file and allowed_file(file.filename): # if file and allowed_file(file.filename):
# filename = secure_filename(file.filename) # filename = secure_filename(file.filename)
# file.save(os.path.join(app.config['UPLOAD_FOLDER'], filename)) # file.save(os.path.join(app.config['UPLOAD_FOLDER'], filename))

View File

@@ -12,8 +12,8 @@ Upload File - mvl
</div> </div>
<div class="form-group"> <div class="form-group">
<div class="custom-file"> <div class="custom-file">
<input type="file" class="custom-file-input" id="file" name="file"> <input type="file" class="custom-file-input" id="files" name="files" multiple>
<label class="custom-file-label" for="file">Choose file</label> <label class="custom-file-label" for="files">Choose files</label>
</div> </div>
</div> </div>
<div class="form-group"> <div class="form-group">