summaryrefslogtreecommitdiff
path: root/addons
diff options
context:
space:
mode:
authorRomain Derie <rde@odoo.com>2021-02-09 11:56:07 +0000
committerRomain Derie <rde@odoo.com>2021-03-25 11:40:22 +0000
commit4d529ad0d1b3e448fba7fb6cf54ed7991664f5aa (patch)
tree97e029aa7e30897ededc966717443c9869384898 /addons
parent28ba416d078294e96897f68751ced8964f42c66f (diff)
[FIX] web_editor: prevent mismatch between mimetype and content type
Since the image util method `image_base64()` is converting BMP images to PNG automatically[1], there would be a mismatch between the attachment content type and the attachment mimetype. - Content type: retrieve with `base64_to_image(data).format` -> return PNG as the image data was converted from BMP to PNG - Mimetype: set on `write()` and `create()` with `_check_contents()` which call `mimetypes.guess_type(file_name)`. BMP image `my_file_image.bmp` would have a mimetype set to BMP The computed field `image_src` would return `False` since the image.mimetype would be BMP, making the dialog picker not showing the image but loading `http://localhost:8069/false` instead. [1] https://github.com/odoo/odoo/blame/097f29d0f6a5b295c81fd074665dbd261eaf12fb/odoo/tools/image.py#L124 task-2345082 Coming from #65828 Closes #68326 X-original-commit: ef5b108b781df73342bb99342a1116fad86d3b58
Diffstat (limited to 'addons')
-rw-r--r--addons/web_editor/controllers/main.py4
1 files changed, 4 insertions, 0 deletions
diff --git a/addons/web_editor/controllers/main.py b/addons/web_editor/controllers/main.py
index b8f3b3eb36f..2cefa652706 100644
--- a/addons/web_editor/controllers/main.py
+++ b/addons/web_editor/controllers/main.py
@@ -242,6 +242,10 @@ class Web_Editor(http.Controller):
def _attachment_create(self, name='', data=False, url=False, res_id=False, res_model='ir.ui.view'):
"""Create and return a new attachment."""
+ if name.lower().endswith('.bmp'):
+ # Avoid mismatch between content type and mimetype, see commit msg
+ name = name[:-4]
+
if not name and url:
name = url.split("/").pop()