diff --git a/odoo/addons/base/ir/ir_http.py b/odoo/addons/base/ir/ir_http.py index c01e6d4a4ea..179f0b4e935 100644 --- a/odoo/addons/base/ir/ir_http.py +++ b/odoo/addons/base/ir/ir_http.py @@ -321,9 +321,11 @@ class IrHttp(models.AbstractModel): mimetype = guess_mimetype(base64.b64decode(content), default=default_mimetype) # extension - extension = mimetypes.guess_extension(mimetype) - if extension and not filename.endswith(extension): - filename = "%s%s" % (filename, extension) + _, existing_extension = os.path.splitext(filename) + if not existing_extension: + extension = mimetypes.guess_extension(mimetype) + if extension: + filename = "%s%s" % (filename, extension) headers += [('Content-Type', mimetype), ('X-Content-Type-Options', 'nosniff')]