美文网首页
odoo 文件下载动作

odoo 文件下载动作

作者: grey_27 | 来源:发表于2023-04-03 16:50 被阅读0次

    在开发中经常遇到下载文件的需求,odoo中也提供了一个ir.actions.act_url动作,可以跳转打开一个下载链接,实现下载需求。
    但是实际使用中还是有点缺陷
    1.开发繁琐,需要写一个单独的跳转动作方法,再写的一个专门的下载接口
    2.体验不友好,在弹窗向导中的按钮执行url动作跳转后不会关闭原始的弹窗
    3.无法做到文件下载错误提醒,在生成文件内容之中可能会出现错误,异常检查如果写在跳转方法里,此时文件还未生成无法预知报错,只能放在下载方法中,在下载方法中最终返回必须是一个完整的页面或者文件,无法做到odoo报错提示

    基于以上问题决定自己写一个下载文件的动作,可以直接通过按钮方法返回下载内容。
    使用方法

    def download_file(self):
            # your_code...
            file_content = b''
            return {
                'type': 'ir.actions.act_download',
                'file_name': 'test.xlsx',  # your file name
                'file_type': 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet', # your file type
                'file_data': base64.encodebytes(file_content), 
            }
    

    仓库地址:https://github.com/grey27/grey27_addons/tree/14.0/web_download_action

    相关文章

      网友评论

          本文标题:odoo 文件下载动作

          本文链接:https://www.haomeiwen.com/subject/kzxjddtx.html