Odoo8。以编程方式上传产品图片

时间:2015-06-19 04:49:20

标签: python odoo odoo-8

我从网址获取图片并尝试将其上传到Odoo(product.template,image列)。我尝试了很多方法来做到这一点,但他们都没有帮助我。你能否给我正确的方法,在不使用csv import的情况下将产品图片上传到Odoo。

3 个答案:

答案 0 :(得分:1)

这对我有用:

import urllib2
import base64

image = urllib2.urlopen('http://ddd.com/somepics.jpg').read()

image_base64 = base64.encodestring(image)

product.image_medium = image_base64    //(new api v9)

#in old api maybe something like 

#prod_obj.write(prod_id, {'image_medium': image_base64})

答案 1 :(得分:0)

你可能需要这样的东西 使用psycopg2库

try:
    logo = urllib2.urlopen(logo_url).read()
    except:
            print 'waitting 60s'
            time.sleep(60)
            logo = urllib2.urlopen(logo_url).read()
            res_data={'image':psycopg2.Binary(logo)}
            ...

答案 2 :(得分:0)

如果您有图片网址并需要在产品中设置,那么您可以执行以下操作,并在安装/升级自定义模块时调用此方法。

import requests
import base64

    @api.multi
    def get_image(self):
        for product in self:
            img = False
            if image.url:
                response = requests.get(image.url)
                if response.ok and response.content : 
                    img = base64.b64encode(response.content)
                else :
                    img = False
            product.image = img