Overslaan naar inhoud
Odoo Menu
  • Aanmelden
  • Probeer het gratis
  • Apps
    Financiën
    • Boekhouding
    • Facturatie
    • Onkosten
    • Spreadsheet (BI)
    • Documenten
    • Ondertekenen
    Verkoop
    • CRM
    • Verkoop
    • Kassasysteem winkel
    • Kassasysteem Restaurant
    • Abonnementen
    • Verhuur
    Websites
    • Websitebouwer
    • E-commerce
    • Blog
    • Forum
    • Live Chat
    • E-learning
    Bevoorradingsketen
    • Voorraad
    • Productie
    • PLM
    • Inkoop
    • Onderhoud
    • Kwaliteit
    Personeelsbeheer
    • Werknemers
    • Werving & Selectie
    • Verlof
    • Evaluaties
    • Aanbevelingen
    • Wagenpark
    Marketing
    • Sociale media-marketing
    • E-mailmarketing
    • Sms-marketing
    • Evenementen
    • Marketingautomatisering
    • Enquêtes
    Diensten
    • Project
    • Urenstaten
    • Buitendienst
    • Helpdesk
    • Planning
    • Afspraken
    Productiviteit
    • Chat
    • Artificiële Intelligentie
    • IoT
    • VoIP
    • Kennis
    • WhatsApp
    Apps van derden Odoo Studio Odoo Cloud Platform
  • Bedrijfstakken
    Detailhandel
    • Boekhandel
    • kledingwinkel
    • Meubelwinkel
    • Supermarkt
    • Bouwmarkt
    • Speelgoedwinkel
    Horeca & Hospitality
    • Bar en café
    • Restaurant
    • Fastfood
    • Gastenverblijf
    • Drankenhandelaar
    • Hotel
    Vastgoed
    • Makelaarskantoor
    • Architectenbureau
    • Bouw
    • Vastgoedbeheer
    • Tuinieren
    • Vereniging van mede-eigenaren
    Consulting
    • Accountantskantoor
    • Odoo Partner
    • Marketingbureau
    • Advocatenkantoor
    • Talentenwerving
    • Audit & Certificering
    Productie
    • Textiel
    • Metaal
    • Meubels
    • Eten
    • Brouwerij
    • Relatiegeschenken
    Gezondheid & Fitness
    • Sportclub
    • Opticien
    • Fitnesscentrum
    • Wellness-medewerkers
    • Apotheek
    • Kapper
    Diensten
    • Klusjesman
    • IT-hardware & ondersteuning
    • Zonne-energiesystemen
    • Schoenmaker
    • Schoonmaakdiensten
    • HVAC-diensten
    Andere
    • Non-profitorganisatie
    • Milieuagentschap
    • Verhuur van Billboards
    • Fotograaf
    • Fietsleasing
    • Softwareverkoper
    Alle bedrijfstakken bekijken
  • Community
    Leren
    • Tutorials
    • Documentatie
    • Certificeringen
    • Training
    • Blog
    • Podcast
    Versterk het onderwijs
    • Onderwijsprogramma
    • Scale Up! Business Game
    • Odoo bezoeken
    Download de Software
    • Downloaden
    • Vergelijk edities
    • Releases
    Werk samen
    • Github
    • Forum
    • Evenementen
    • Vertalingen
    • Partner worden
    • Diensten voor partners
    • Registreer je accountantskantoor
    Diensten
    • Vind een partner
    • Vind een boekhouder
    • Een adviseur ontmoeten
    • Implementatiediensten
    • Klantreferenties
    • Ondersteuning
    • Upgrades
    Github Youtube Twitter Linkedin Instagram Facebook Spotify
    +1 (650) 691-3277
    Vraag een demo aan
  • Prijzen
  • Help
Je moet geregistreerd zijn om te kunnen communiceren met de community.
Alle posts Personen Badges
Labels (Bekijk alle)
odoo accounting v14 pos v15
Over dit forum
Je moet geregistreerd zijn om te kunnen communiceren met de community.
Alle posts Personen Badges
Labels (Bekijk alle)
odoo accounting v14 pos v15
Over dit forum
Help

How to add product image from xmlrpc call

Inschrijven

Ontvang een bericht wanneer er activiteit is op deze post

Deze vraag is gerapporteerd
productimage
4 Antwoorden
19917 Weergaven
Avatar
jagdish

Hi,

I want insert image in product using xmlrpc, so how to pass data in php call to insert product image?? i have try to pass data like in point_of_sale_data.xml but it give me error cannot identify image file

Thanks jagdish

1
Avatar
Annuleer
Avatar
Alain Ivars
Beste antwoord
  • rename the image files according to your products (<product-code>.jpg or <id>.jpg)
  • Write a short python script which loops over the image files, encode with base64 and write to OpenERP with XMLRPC

# get file
yourImage = request.files.get('product1.jpg')
# read it
image = yourImage.file.read()
# encode it base64
imageBase64 = base64.b64encode(image)
# now pass it to your XMLRPC call

I hope that will help you :)

3
Avatar
Annuleer
Vimal Rughani

Thank Alain, for great answer. Can you please tell how to read image from xml rpc. I have created custom module in openerp v7 and I want to fetch value of that module in my website using django. I am able to fetch all text field, but not able to get image. While fetching image (binary field) it gives value probably b64encoded. I don't know to make that image visible without storing image data. Is there any direct way to access image url of openerp module. Can you please guide me ? Thanks for your time and help.

Avatar
fudo
Beste antwoord

Currently, to get the product image as url, we could use:

from odoo.tools.image import image_data_uri

product_image = image_data_uri(product.image_1920)

In my case,  product.image_1920 is the column of saved product image, you can replace it with your column to make it work.

Note: after get  product_image, you can see it still look like base64 encrypted format, but it's not, try to paste it to web browser such as Chrome, and you will see the image appear.


0
Avatar
Annuleer
Avatar
Mehrdad Bahri
Beste antwoord

To resolve the 

TypeError: 'Binary' object is not subscriptable

error, use the decode('ascii') method:

with open("image.jpg", "rb") as img:
    b64_image = base64.b64encode(img.read())
data = {'image_1920': b64_image.decode('ascii')}



0
Avatar
Annuleer
Avatar
Andres Brigard
Beste antwoord

Thanks Alain. The code I am using to write through the 

execute('res.partner', 'write', [6], {'image': imageBase64})

 Or using OdooRPC

model.browse(6).write({'image': imageBase64)

In both cases I get the following error:

xmlrpc.client.Fault: <Fault 'Binary' object is not subscriptable: 'Traceback (most recent call last):
File "/home/odoo/odoo12/odoo/odoo/addons/base/controllers/rpc.py", line 60, in xmlrpc_1
response = self._xmlrpc(service)
File "/home/odoo/odoo12/odoo/odoo/addons/base/controllers/rpc.py", line 49, in _xmlrpc
result = dispatch_rpc(service, method, params)
File "/home/odoo/odoo12/odoo/odoo/http.py", line 120, in dispatch_rpc
result = dispatch(method, params)
File "/home/odoo/odoo12/odoo/odoo/service/model.py", line 40, in dispatch
res = fn(db, uid, *params)
File "/home/odoo/odoo12/odoo/odoo/service/model.py", line 98, in wrapper
return f(dbname, *args, **kwargs)
File "/home/odoo/odoo12/odoo/odoo/service/model.py", line 185, in execute
res = execute_cr(cr, uid, obj, method, *args, **kw)
File "/home/odoo/odoo12/odoo/odoo/service/model.py", line 169, in execute_cr
result = odoo.api.call_kw(recs, method, args, kw)
File "/home/odoo/odoo12/odoo/odoo/api.py", line 759, in call_kw
return _call_kw_multi(method, model, args, kwargs)
File "/home/odoo/odoo12/odoo/odoo/api.py", line 746, in _call_kw_multi
result = method(recs, *args, **kwargs)
File "/home/odoo/odoo12/odoo/addons/partner_autocomplete/models/res_partner.py", line 183, in write
res = super(ResPartner, self).write(values)
File "/home/odoo/odoo12/odoo/odoo/addons/base/models/res_partner.py", line 563, in write
tools.image_resize_images(vals, sizes={'image': (1024, None)})
File "/home/odoo/odoo12/odoo/odoo/tools/image.py", line 302, in image_resize_images
vals.update(image_get_resized_images(vals[big_name],
File "/home/odoo/odoo12/odoo/odoo/tools/image.py", line 292, in image_get_resized_images
return_dict[big_name] = image_resize_image_big(base64_source, avoid_if_small=avoid_resize_big, size=size_big)
File "/home/odoo/odoo12/odoo/odoo/tools/image.py", line 168, in image_resize_image_big
return image_resize_image(base64_source, size, encoding, filetype, avoid_if_small)
File "/home/odoo/odoo12/odoo/odoo/tools/image.py", line 66, in image_resize_image
if size == (None, None) or base64_source[:1] == b'P':
TypeError: 'Binary' object is not subscriptable

Any advice to overcome this problem please?
Thanks Andres

0
Avatar
Annuleer
Geniet je van het gesprek? Blijf niet alleen lezen, doe ook mee!

Maak vandaag nog een account aan om te profiteren van exclusieve functies en deel uit te maken van onze geweldige community!

Aanmelden
Gerelateerde posts Antwoorden Weergaven Activiteit
Make product picture mandatory
product image
Avatar
Avatar
2
dec. 21
3303
Fastest way to check if product does not have image
product image
Avatar
0
okt. 21
4469
How to use urls as product images? Opgelost
product image
Avatar
Avatar
Avatar
2
dec. 19
25870
Imágenes de producto no se cargan al importar con código de barras
action product image
Avatar
Avatar
1
apr. 26
834
How to import product images ? Opgelost
product import image
Avatar
Avatar
Avatar
3
nov. 24
17364
Community
  • Tutorials
  • Documentatie
  • Forum
Open Source
  • Downloaden
  • Github
  • Runbot
  • Vertalingen
Diensten
  • Odoo.sh Hosting
  • Ondersteuning
  • Upgrade
  • Gepersonaliseerde ontwikkelingen
  • Onderwijs
  • Vind een boekhouder
  • Vind een partner
  • Partner worden
Over ons
  • Ons bedrijf
  • Merkelementen
  • Neem contact met ons op
  • Vacatures
  • Evenementen
  • Podcast
  • Blog
  • Klanten
  • Juridisch • Privacy
  • Beveiliging
الْعَرَبيّة Català 简体中文 繁體中文 (台灣) Čeština Dansk Nederlands English Suomi Français Deutsch हिंदी Bahasa Indonesia Italiano 日本語 한국어 (KR) Lietuvių kalba Język polski Português (BR) română русский язык Slovenský jazyk Slovenščina Español (América Latina) Español Svenska ภาษาไทย Türkçe українська Tiếng Việt

Odoo is een suite van open source zakelijke apps die aan al je bedrijfsbehoeften voldoet: CRM, E-commerce, boekhouding, inventaris, kassasysteem, projectbeheer, enz.

Odoo's unieke waardepropositie is om tegelijkertijd zeer gebruiksvriendelijk en volledig geïntegreerd te zijn.

Website made with

Odoo Experience on YouTube

1. Use the live chat to ask your questions.
2. The operator answers within a few minutes.

Live support on Youtube
Watch now