Passa al contenuto
Menu
È necessario essere registrati per interagire con la community.
La domanda è stata contrassegnata
1 Rispondi
3437 Visualizzazioni

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
Abbandona
Autore Risposta migliore

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
Abbandona
Post correlati Risposte Visualizzazioni Attività
1
set 21
4768
1
lug 25
1926
0
ott 24
1360
4
mag 24
12553
1
apr 24
3179