# -*- coding: utf-8 -*- from odoo import http from odoo.http import request, content_disposition import base64 class Binary(http.Controller): @http.route('/web/binary/download_document', type='http', auth="public") def download_document(self, model, id, filename=None, **kw): record = request.env[model].browse(int(id)) binary_file = record.datas # aqui colocas el nombre del campo binario que almacena tu archivo filecontent = base64.b64decode(binary_file or '') if not filecontent: return request.not_found() else: if not filename: filename = '%s_%s' % (model.replace('.', '_'), id) content_type = ('Content-Type', 'application/octet-stream') disposition_content = ('Content-Disposition', content_disposition(filename)) return request.make_response(filecontent, [content_type, disposition_content])