我有一個二進制欄位,我想將上傳檔案大小限制為小于 1MB。我怎樣才能做到這一點。
binary_field = fields.Binary(string="Upload Image")
uj5u.com熱心網友回復:
二進制欄位的檔案大小受 max_upload_size 限制,max_upload_size設定為會話max_file_upload_size
或默認值 128 Mb,可以使用系統引數web.max_file_upload_size 更改
最大上傳大小是硬編碼的,不能從二進制欄位中指定
您可以擴展現有的二進制欄位并根據欄位屬性設定最大檔案大小。
例子:
/** @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檔案添加到assets
manifest檔案中的入口下web.assets_backend
要使用它,請在二進制欄位標簽上設定以下屬性:widget
和max_upload_size
例子:
<field name="binary_field" widget='custom_binary' max_upload_size="1048576"/>
轉載請註明出處,本文鏈接:https://www.uj5u.com/net/505654.html