图像下载链接 - OpenERP

时间:2014-10-27 12:10:39

标签: image download openerp attachment

我正在寻找一种在OpenERP中的表单视图上添加下载链接的方法,这样当我点击链接时,我可以下载以前上传的图像。最好的方法是什么?

1 个答案:

答案 0 :(得分:0)

@Hassan Zaheer

如果您使用fields.binary,那么您可以拥有该功能,当您使用二进制字段时,请不要在字段中使用任何小部件,您会注意到odoo会将您上传的图像转换为您可以单击的网址并下载。

这里是自我计算二进制字段的例子。

import base64
from osv import osv, fields

class my_class(osv.osv_memory):

    def get_file(self, cr, uid, ids, field_name=None, arg=None, context=None):
        result = dict.fromkeys(ids)
        for record_browse in self.browse(cr, uid, ids):
            f = open(record_browse.file_path)
            result[record_browse.id] = base64.encodestring(f.read())
            f.close()
        return result

    _name = 'my.class'

    _columns = {
        'file_path': fields.char('File Location', size=128),
        'file': fields.function(get_file, method=True, store=False, type='binary', string="Download File"),
    } 

或者您可以添加简单的field.binary,如:

'filedata': fields.binary('Label',filters='*.xml'),

在视图上添加将显示为可下载URL的字段。