1 # Odoo 中的附件也就是Binary字段都是经过特殊处理的
2 # 首先是上传的时候会进行base64编码后再上传到服务器
3 # 服务器进行压缩存放在odoo文件仓库中
4 # 每个odoo的每个数据库都有单独的文件仓库
5 # 最后当你取到文件的收也需要进行base64解码还原文件
6 # Odoo14 设置Binary字段默认值
7 def _default_design_image(self):
8 # 获取文件路劲,第一个参数是模块名,第二个是模块中相对目录,第三个参数是具体文件名
9 path = get_resource_path('ship', 'static/description', 'icon.png')
10 return base64.b64encode(open(path, 'rb').read()) if path else False
11
12 # 字段声明
13 design_image = fields.Binary('Picture', default=_default_design_image)
14
15 # 手动赋值
16 self.design_image = base64.b64encode(open(filepath, 'rb').read())
17
18 # 读取文件内容 这里是将文件写入temp文件中去
19 fp = tempfile.NamedTemporaryFile(delete= False,suffix=".xlsx")
20 fp.write(binascii.a2b_base64(self.design_image))
21 fp.seek(0)
22
23 # 需要import:tempfile base64 binascii
24 # from odoo.modules.module import get_resource_path

最新文章

  1. Object学习笔记
  2. Shell脚本:使用rsync备份文件/目录
  3. centos6.5安装mongodb
  4. Winform开发框架之权限管理系统
  5. Linux下部署Symfony2对app/cache和app/logs目录的权限设置
  6. iOS 将系统文字设置为中文
  7. div盒布局
  8. 设计模式---Manager(管理器)
  9. 利用ffmpeg将H264流 解码为RGB
  10. 安卓上用Termux终端模拟器安装MC Forge 1.12.2服务器!
  11. 基数排序模板(基数排序,C++模板)
  12. 常用linux命令(项目部署)
  13. javaBean的相关知识和应用
  14. [记录] Mysql 复制表格结构
  15. jQuery实现按Esc清除信息功能
  16. jenkins持续集成3
  17. VMware下的Linux系统中Windows的共享目录,不支持创建软连接
  18. [Openwrt 项目开发笔记]:Openwrt必要设置(二)
  19. myeclipse2015修改web项目部署名
  20. SQL中的left outer join,inner join,right outer join用法详解

热门文章

  1. vscode修改括号对颜色,自定义括号颜色
  2. Proxmox 5.4使用vgpu_unlock,为GTX1060开启vGPU支持
  3. 浅析kubernetes中client-go structure01
  4. 第06组 Beta冲刺 (5/5)
  5. flask实现python方法转换服务
  6. mysql 超时配置
  7. .NET C#基础(5):结构体 - 高性能代码的基石
  8. FlinkSQL源码阅读-schema管理
  9. [WUSTCTF2020]颜值成绩查询-1
  10. ExtJS 布局-Column布局(Column layout)