fixed bug in detecting mime type

This commit is contained in:
2023-12-05 14:38:11 +01:00
parent debb6606cf
commit 2c356924ac

View File

@@ -50,13 +50,14 @@ def process_file(request, input_file, input_name):
MAX_SIZE = 10 * (1024 ** 2) # 10 Mb
temp_folder = request.registry.settings['temp_folder']
logfile_name = os.path.join(temp_folder, 'errors_log')
input_encoding = 'utf-8'
# --- check the mime type
mime = magic.from_buffer(input_file.read(), mime=True)
if mime not in EXT_ALLOWED:
message = "Le format du fichier n'est pas valide. Téléchargement refusé."
add_error2log(logfile_name, input_name, message)
return message
return message, input_encoding
# get input_file size
input_file.seek(0, 2) #seek to end
@@ -66,7 +67,7 @@ def process_file(request, input_file, input_name):
if filesize > MAX_SIZE:
message = "La taille du fichier dépasse la limite autorisée. Téléchargement refusé."
add_error2log(logfile_name, input_name, message)
return message
return message, input_encoding
# Finally write the data to a temporary file
input_filename = os.path.join(temp_folder, input_name)
@@ -91,7 +92,7 @@ def process_file(request, input_file, input_name):
if input_buffer.find('<body') == -1 or input_buffer.find('</body>') == -1:
message = "Le format du fichier n'est pas valide (absence de tag <body> ou </body>). Téléchargement refusé."
add_error2log(logfile_name, input_name, message)
return message
return message, input_encoding
# --- convert input_file encoding to utf-8
with open(input_filename, 'w', encoding='utf-8') as f: