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;