码迷,mamicode.com
首页 > Web开发 > 详细

odoo里面批量上传图片

时间:2021-01-12 10:56:05      阅读:0      评论:0      收藏:0      [点我收藏+]

标签:_id   存储   model   success   打开文件   ima   port   style   with open   

import os
import base64


def base_data_product_image(self):
    """
    odoo里批量创建产品,并上传图片
    图片为binary类型字段
    :param self:
    :return:# odoo里面附近存储格式三base64编码格式的
    """
    path = "D:\\image_files"  # 这里windows环境路径
    filelist = os.listdir(path)
    product_obj = self.env[product.template].sudo()
    i = 1
    if not len(filelist):
        return {
            "result": "Fail",
            "msg": "not image!"
        }
    for image in filelist:
        # 这里可以根据后缀来过滤文件类型jpg、png
        if image.endswith(.png):
            with open("D:\\image_files\\%s" % image, "rb") as f:
                base64_data = base64.b64encode(f.read())
            product_obj.create({
                "name": "test_product_%s" % str(i),
                "image_1920": base64_data
            })
            # 文件打开后记得close,
            # 1、with open()as f;文件打开后会自动关闭
            # 2、open(),打开文件不会自动关闭
            # 建议都close一下
            f.close()
            i += 1
    return {
        "result": "Success",
        "msg": "Product create success!"
    }



# 案例2
# 这是针对many2many类型的ir.attachment字段创建的例子
name="test"
data_attach = {
    name: name,
    datas: base64.b64encode(content),
    type: binary,
    datas_fname: name,
    description: name,
    res_model: test_model,
    res_id: 1,
}
new_attachment = IrAttachment.create(data_attach)

 

odoo里面批量上传图片

标签:_id   存储   model   success   打开文件   ima   port   style   with open   

原文地址:https://www.cnblogs.com/1314520xh/p/14256662.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!