From d29c8427d1fa7d633fd3947b1ab84684fea6dbf3 Mon Sep 17 00:00:00 2001 From: wan Date: Fri, 23 Oct 2020 15:30:52 +0000 Subject: [PATCH] [FIX] web: increase file upload to 128Mb MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Also make this a configurable value, from the server. This is the limit of the SAAS servers. closes odoo/odoo#72143 X-original-commit: bcd1c8aade6123dd20d7aebaae8a0f204f258604 Signed-off-by: Aaron Bohy (aab) Signed-off-by: William André (wan) --- addons/web/models/ir_http.py | 6 ++++++ addons/web/static/src/js/fields/basic_fields.js | 2 +- 2 files changed, 7 insertions(+), 1 deletion(-) diff --git a/addons/web/models/ir_http.py b/addons/web/models/ir_http.py index 238009c10b2..1b4370d0fcd 100644 --- a/addons/web/models/ir_http.py +++ b/addons/web/models/ir_http.py @@ -27,6 +27,11 @@ class Http(models.AbstractModel): user_context = request.session.get_context() if request.session.uid else {} IrConfigSudo = self.env['ir.config_parameter'].sudo() + max_file_upload_size = int(IrConfigSudo.get_param( + 'web.max_file_upload_size', + default=128 * 1024 * 1024, # 128MiB + )) + session_info = { "uid": request.session.uid, "is_system": user._is_system() if request.session.uid else False, @@ -45,6 +50,7 @@ class Http(models.AbstractModel): 'profile_session': request.session.profile_session, 'profile_collectors': request.session.profile_collectors, 'profile_params': request.session.profile_params, + "max_file_upload_size": max_file_upload_size, } if self.env.user.has_group('base.group_user'): # the following is only useful in the context of a webclient bootstrapping diff --git a/addons/web/static/src/js/fields/basic_fields.js b/addons/web/static/src/js/fields/basic_fields.js index 8c3072c267a..5c8f66cfa7b 100644 --- a/addons/web/static/src/js/fields/basic_fields.js +++ b/addons/web/static/src/js/fields/basic_fields.js @@ -1856,7 +1856,7 @@ var AbstractFieldBinary = AbstractField.extend({ this._super.apply(this, arguments); this.fields = record.fields; this.useFileAPI = !!window.FileReader; - this.max_upload_size = 64 * 1024 * 1024; // 64Mo + this.max_upload_size = session.max_file_upload_size || 128 * 1024 * 1024; this.accepted_file_extensions = (this.nodeOptions && this.nodeOptions.accepted_file_extensions) || this.accepted_file_extensions || '*'; if (!this.useFileAPI) { var self = this;