Overslaan naar inhoud
Menu
Je moet geregistreerd zijn om te kunnen communiceren met de community.
Deze vraag is gerapporteerd
1 Beantwoorden
3440 Weergaven

hello guys.. im using odoo 13 and i want to know is there a way to add validation before we insert image on image/binary field? 


i have these requirements for image

1. maximum 500 x 500

2. maximum 250 kb


if more than that user cant save the image..


thank you

Avatar
Annuleer
Auteur Beste antwoord

i found the way
i solved it by this way

@api.constrains('image_1024')
    def check_insert_image_product(self):
        if self.image_1024:
            file_image = base64.b64decode(self.image_1024)
            stream = io.BytesIO(file_image)
            img = Image.open(stream)
            width, height = img.size
            if width > 500 or height > 500:
                raise ValidationError(_("You can't insert image with height or width more than 500 (500 x 500).\nHeight: %s \nWidth: %s" % (height, width)))
            image_size = sys.getsizeof(file_image) * 0.0009765625
            if image_size > 250:
                raise ValidationError(_("You can't insert image with size more than 250 KB.\nSize: %s" % (image_size)))
        else:
            raise UserError(_('You must include a Product Image to be able to save this data.'))
Avatar
Annuleer
Gerelateerde posts Antwoorden Weergaven Activiteit
1
sep. 21
4768
1
jul. 25
1931
0
okt. 24
1362
4
mei 24
12563
1
apr. 24
3197