| 1234567891011121314151617181920212223 |
- # -*- 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])
|