跳转至内容
  • 版块
  • 标签
  • 热门
  • 用户
  • 群组
皮肤
  • Light
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dark
  • Cyborg
  • Darkly
  • Quartz
  • Slate
  • Solar
  • Superhero
  • Vapor

  • 默认(Flatly)
  • 不使用皮肤
折叠

Odoo 中文社区

  1. 主页
  2. 版块
  3. Odoo 培训
  4. 如何下载Odoo的Binary字段的文件内容

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

已定时 已固定 已锁定 已移动 Odoo 培训
binary fieldodoo技术
1 帖子 1 发布者 540 浏览
  • 从旧到新
  • 从新到旧
  • 最多赞同
登录后回复
此主题已被删除。只有拥有主题管理权限的用户可以查看。
  • digitalsatoriD 离线
    digitalsatoriD 离线
    digitalsatori 管理员
    写于 最后由 编辑
    #1

    这个问题似乎很奇怪,当然是在对象表单视图的对应字段上点击那个下载按钮:
    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

    • 登录

    • 没有帐号? 注册

    • 登录或注册以进行搜索。
    • 第一个帖子
      最后一个帖子
    0
    • 版块
    • 标签
    • 热门
    • 用户
    • 群组