odoo controller实现文件的下载

 方法一:

apply_rebuild_data = request.env['hw.import.template'].sudo().search([('name', '=', '重修申请模板')])
        if apply_rebuild_data.exists():
            return request.make_response(base64.b64decode(apply_rebuild_data.template), [('Content-Type', 'application/octet-stream'), (
                'Content-Disposition', "attachment; filename=%s" % apply_rebuild_data.template_name.encode("utf-8").decode("latin1"))])

appapply_rebuild_data.template_name:文件名

apply_rebuild_data.template:文件数据

<record id="view_hw_import_template_form" model="ir.ui.view">
        <field name="name">导入模板form视图</field>
        <field name="model">hw.import.template</field>
        <field name="arch" type="xml">
            <form>
                <sheet>
                    <group name="group_top">
                        <group>
                            <field name="name" required="1" />
                            <field name="template" required="1" filename="template_name"/>
                            <field name="template_name" invisible="1"/>
                            <field name="remarks"/>
                        </group>
                        <group>
                        </group>
                    </group>
                </sheet>
            </form>
        </field>
    </record>

方法二:

<a download='文件名.后缀名'>下载</a>
return http.send_file(BytesIO(base64.standard_b64decode(course_id.courseware)),
                                  mimetype='application/pdf',
                                  filename="lesson_%s.pdf" % lesson_id, as_attachment=False)

 (BytesIO(base64.standard_b64decode(course_id.courseware)):文件数据

mimetype:文件类型

filename:文件名.后缀名

as_attachment:是否为附件,这里实现下载功能为False

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值