宜兴通达竭诚为您服务。

通达科技 - 宜兴电脑维护及IT服务外包服务商

Odoo附件传输
  • 上传者: Administrator
  • 上传时间:2023年05月12日 07时06分46秒
摘要:
一:odoo后端上传附件** odoo中的ir.attachment模型是附件模型,可以用一个字段关联到该模型,从而达到保存附件的功能。 例如: advert_attachment = fields.Many2one('ir.attachment', string=u'广告视频') 之后,在for ......
正文 相关文章 请喝咖啡

    一:odoo后端上传附件

    odoo中的ir.attachment模型是附件模型,可以用一个字段关联到该模型,从而达到保存附件的功能。

    例如:

    advert_attachment = fields.Many2one('ir.attachment', string=u'广告视频')

    之后,在form视图中编辑该字段时,就可以从attachment模型的记录中选取已上传的附件文件,或者新建一条attachment记录来上传附件。

    二:其他系统的前端网页、Webapp、移动app下载或访问附件

        ir.attachment模型对应的数据库表是:ir_attachment

        查看该表的字段,我们发现其中最重要的字段主要以下几个:

    id:记录id,唯一。
    
    name:上传附件时,为该记录的命名。
    
    datas_fname:上传附件的本来文件名,含后缀名。
    
    datas:隐藏字段,数据库表中看不到该字段,但是代码中可以通过该字段取到附件在数据库中存储的二进制数据串。
    复制代码

    知道了附件的存储形式,那么访问的思路就有了:

        通过id或者name属性,查询ir_attachment表,得到对应的记录对象;

        访问记录对象的datas字段,获取附件的二进制数据

        odoo是以base64的格式保存附件的,所以我们也通过base64解码附件的二进制数据

        最后,我们通过IO流来传输数据回前端、webapp、移动端

    #需要导入以下两个模块
    from cStringIO import StringIO
    import base64
    
    #在controller中,把数据流以文件形式返回
    data = StringIO(base64.standard_b64decode(记录.datas))  //用base64把二进制数据解码,作为参数创建StringIO流。
    return http.send_file(data,filename=记录['datas_fname'],as_attachment=True) //用http.send_file把IO流返回客户端

    三:非odoo系统的前端网页、webapp、移动app向odoo上传附件文件

        使用文件上传插件把文件数据流传输到controller,并把一些必要字段值如name、datas_fname等传过来;

        在controller的方法中,调用ir.attachment模型等write方法插入一条新记录即

    四:把文件存在阿里云OSS中 ,便于访问。

    本站自研模块,安装配置,只需要1000元。

    配置参数:

    上传文件



    支持存档文件,节约存储费用

    演示:

    https://demo.tderp.com

    admin

    admin

    本文章从网上收集,如有侵权请联系tderp@tderp.com删除
  • 微信扫一扫,一分也是爱:
  • 微信

服务原则及地区范围

宜兴通达网络科技有限公司,地处中国宜兴环科园内,是一家高新技术企业。公司在企业网络维护和企业信息化建设与咨询方面,有10多年经验。

我公司愿与客户一道,力求彻底解决客户问题!
我们不是在给企业提供“头痛医头、脚痛医脚”的暂时解决方案,而是在部署根本性安全与稳定服务!!
我们愿携手客户,建立企业IT规划;杜绝随意安装系统、软件等操作;力求共同维护有序、安全、稳定的网络办公环境!!!
IT服务,服务是根本,客户是上帝;我们提供快速响应、快速上门、快速排查,提供优质高效的服务!!!!

通达科技提供全国范围内的服务,服务形式包括远程协助、电话咨询、电子邮件咨询、传真咨询、问答平台的问题解决等。

宜兴地区提供上门服务:

  • 市区服务:宜城街道、城北街道(屺亭街道)、新街街道、新庄街道、环科园、渚桥开发区
  • 市郊服务:张渚镇、西渚镇、太华镇、徐舍镇、官林镇、杨巷镇、新建镇、和桥镇、高塍镇、万石镇、周铁镇、芳桥镇、丁蜀镇、湖父镇。
  • 联系电话:189-21-343434
  • 在线沟通: