我正在寻找一种在OpenERP中的表单视图上添加下载链接的方法,这样当我点击链接时,我可以下载以前上传的图像。最好的方法是什么?
答案 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的字段。