2014-10-27 94 views
0

我正在尋找一種在OpenERP中的表單視圖上添加下載鏈接的方法,以便當我單擊該鏈接時,我可以下載以前上傳的圖像。什麼是最好的方式來做到這一點?圖像下載鏈接 - OpenERP

回答

0

@Hassan查希爾

如果使用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字段。

+1

什麼是二進制字段定義中的filters ='*。xml'? – StackUP 2014-10-28 02:26:29

+0

當我這樣做時,下載圖像不是PNG格式。當我嘗試打開下載的文件時,我必須選擇通過哪個程序打開它。 – 2014-10-28 05:50:29