如何限制二进制字段odoo中的文件大小



我有一个二进制字段,我想将上传文件的大小限制在1MB以下。我该怎么做。

binary_field = fields.Binary(string="Upload Image")

二进制字段的文件大小受max_upload_size的限制,max_upload _size设置为会话max_file_upload_size或默认值128 Mb,可以使用系统参数web.max_file_pload_sze 进行更改

最大上传大小是硬编码的,不能从二进制字段中指定

您可以扩展现有的二进制字段,并根据字段属性设置最大文件大小。

示例:

/** @odoo-module */
import fieldRegistry from 'web.field_registry';
import basicFields from 'web.basic_fields';
import session from 'web.session';

var CustomFieldBinaryFile = basicFields.FieldBinaryFile.extend({
init: function (parent, name, record) {
this._super.apply(this, arguments);
if(this.attrs.max_upload_size) {
this.max_upload_size = this.attrs.max_upload_size;
}
},
});
var CustomFieldBinaryImage = basicFields.FieldBinaryImage.extend({
init: function (parent, name, record) {
this._super.apply(this, arguments);
if(this.attrs.max_upload_size) {
this.max_upload_size = this.attrs.max_upload_size;
}
},
});
fieldRegistry.add('custom_binary', CustomFieldBinaryFile);
fieldRegistry.add('custom_binary_image', CustomFieldBinaryImage);

将js文件添加到web.assets_backend下的清单文件中的assets条目

要使用它,请在二进制字段标签上设置以下属性:widgetmax_upload_size

示例:

<field name="binary_field" widget='custom_binary' max_upload_size="1048576"/>  

最新更新