Odoo 中文社区

    • 注册
    • 登录
    • 搜索
    • 版块
    • 标签
    • 热门
    • 用户
    • 群组

    Odoo中文社区可以通过以下两个域名访问:shine-it.net , odoo.net.cn

    由于系统升迁的原因,本论坛部分较早期的内容存在格式和链接损坏失效的问题,并非本论坛系统本身的缺陷,望谅解

    本社区没有维护任何QQ群讨论组,任何与本社区同名的QQ群讨论组的言论与本社区无关!

    开发人员可以登录gitter讨论组: http://gitter.im/odoo-china/Talk, 需要github账号

    如果您登录系统碰到问题,请在微信公众号留言:

    如何下载Odoo的Binary字段的文件内容

    Odoo 培训
    binary field odoo技术
    1
    1
    230
    正在加载更多帖子
    • 从旧到新
    • 从新到旧
    • 最多赞同
    回复
    • 在新帖中回复
    登录后回复
    此主题已被删除。只有拥有主题管理权限的用户可以查看。
    • digitalsatori
      digitalsatori 管理员 最后由 编辑

      这个问题似乎很奇怪,当然是在对象表单视图的对应字段上点击那个下载按钮:
      image_btn.png

      但是,比如我有一个需求,需要创建一个下载所有的对象的Binary字段中的文件的页面,该如何做呢?

      实际上对象上的Binary对象的链接是下面这样的:

      http://127.0.0.1:8069/web/content?model=<module_name>&field<field_name>&filename_field=<field_filename>&id=<object_id>

      其中:
      module_name - Binary字段对应的模型名称
      field_name - Binary字段的名称
      object_id - 对应的记录id.
      field_filename - Binary字段对应的文件名称的字段(非必选项)

      所以我们要创建一个按钮,点击下载文件的代码如下:

      file_url = "http://127.0.0.1:8069/web/content?model=<module_name>&field=<field_name>&filename_field=<field_filename>&id=<object_id>"
      return {
          'type': 'ir.actions.act_url',
          'url': file_url,
          'target': 'new'
      }
      

      而在Qweb报表或web页面中,我们可以这样处理:

      <t t-foreach="files" t-as="f">
          <tr>
              <td><t t-esc="f.name"/></td>
              <td><a t-attf-href="/web/content?model=<module_name>&field=<field_name>&filename_field=<field_filename>&id=<object_id>">Download</a></td>
          </tr>
      </t>
      

      【上海先安科技】(tony AT openerp.cn)

      1 条回复 最后回复 回复 引用 0
      • First post
        Last post