我正在寻找一种方法,在OpenERP中的表单视图上添加下载链接,这样当我单击链接时,我可以下载以前上传的图像。最好的方法是什么?
@Hassan Zaheer
如果你使用字段.binary,那么你就可以拥有这个功能,当你使用二进制字段时,不要使用带有该字段的任何小部件,你会注意到odoo会将你上传的图像转换为你可以点击下载的url。
这里是自计算二进制字段的例子。
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"),
}
或者你可以添加简单的字段。二进制类似:
'filedata': fields.binary('Label',filters='*.xml'),
并在视图中添加将显示为可下载url的字段。