odoo Binary field 下载后文件名的问题

版本:

odoo8

问题描述:

在model中添加二进制字段

file = fields.Binary(string="File Attachment")

在视图中显示后,点击会自动下载,但是下载后文件的名字却不是上传时候的文件名,而是模块名加数字的形式。

而正常情况是,上传时候文件叫啥,下载之后还应该叫这个名字。

odoo Binary field 下载后文件名的问题_第1张图片

分析过程:

点击“Download”,是发送了一个url,到web的控制器saveas_ajax,位置在addons/web/controllers/main.py的1111行。

断点跟踪会发现传过来的参数data中取不到filename_field

其实在这里做点改动也是可以的。

但是实际上解决办法跟这个过程没啥关系。

解决办法:

在定义附件字段时,多加一个文件名字的字段

    file = fields.Binary(string="File Attachment")
    file_name = fields.Char(string="File Name")

然后在视图文件中这样定义

    
    
重启odoo并更新模块,重新上传附件就可以看到效果了。

你可能感兴趣的:(odoo,binary,odoo)