fixed bug in detecting mime type
This commit is contained in:
@@ -50,13 +50,14 @@ def process_file(request, input_file, input_name):
|
|||||||
MAX_SIZE = 10 * (1024 ** 2) # 10 Mb
|
MAX_SIZE = 10 * (1024 ** 2) # 10 Mb
|
||||||
temp_folder = request.registry.settings['temp_folder']
|
temp_folder = request.registry.settings['temp_folder']
|
||||||
logfile_name = os.path.join(temp_folder, 'errors_log')
|
logfile_name = os.path.join(temp_folder, 'errors_log')
|
||||||
|
input_encoding = 'utf-8'
|
||||||
|
|
||||||
# --- check the mime type
|
# --- check the mime type
|
||||||
mime = magic.from_buffer(input_file.read(), mime=True)
|
mime = magic.from_buffer(input_file.read(), mime=True)
|
||||||
if mime not in EXT_ALLOWED:
|
if mime not in EXT_ALLOWED:
|
||||||
message = "Le format du fichier n'est pas valide. Téléchargement refusé."
|
message = "Le format du fichier n'est pas valide. Téléchargement refusé."
|
||||||
add_error2log(logfile_name, input_name, message)
|
add_error2log(logfile_name, input_name, message)
|
||||||
return message
|
return message, input_encoding
|
||||||
|
|
||||||
# get input_file size
|
# get input_file size
|
||||||
input_file.seek(0, 2) #seek to end
|
input_file.seek(0, 2) #seek to end
|
||||||
@@ -66,7 +67,7 @@ def process_file(request, input_file, input_name):
|
|||||||
if filesize > MAX_SIZE:
|
if filesize > MAX_SIZE:
|
||||||
message = "La taille du fichier dépasse la limite autorisée. Téléchargement refusé."
|
message = "La taille du fichier dépasse la limite autorisée. Téléchargement refusé."
|
||||||
add_error2log(logfile_name, input_name, message)
|
add_error2log(logfile_name, input_name, message)
|
||||||
return message
|
return message, input_encoding
|
||||||
|
|
||||||
# Finally write the data to a temporary file
|
# Finally write the data to a temporary file
|
||||||
input_filename = os.path.join(temp_folder, input_name)
|
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:
|
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é."
|
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)
|
add_error2log(logfile_name, input_name, message)
|
||||||
return message
|
return message, input_encoding
|
||||||
|
|
||||||
# --- convert input_file encoding to utf-8
|
# --- convert input_file encoding to utf-8
|
||||||
with open(input_filename, 'w', encoding='utf-8') as f:
|
with open(input_filename, 'w', encoding='utf-8') as f:
|
||||||
|
|||||||
Reference in New Issue
Block a user