如何在Odoo10中获取二进制字段的mimetype?

问题描述 投票:0回答:1

我创建了一个二进制字段,叫做 datas 并上传了一个文件。我需要得到 mimetype 的数据。

我试过这个。

*.py

  attachment_icon = fields.Char(string="Icon", compute="_get_icon")

    @api.one
    def _get_icon(self):
        file = None
        for rec in self:
            print('data',type(rec.datas)) //it print type<str>
            binary_data = rec.datas
            print('binary_data',binary_data)
            mimetype = guess_mimetype(binary_data.encode('base 64'))
            print('mimetypemimetype',mimetype)// print 'text/plain'

现在输出的 mimetypetext/plain实际上,上传的文件是 pdf.我如何才能得到正确的mimetype?

python-2.7 odoo odoo-10
1个回答
0
投票

你好 @KbiR

Python的神奇函数会得到mimetype。

import magic
mime = magic.Magic(mime=True)
mime.from_file("youtPath/fileName.pdf") # 'application/pdf'
© www.soinside.com 2019 - 2024. All rights reserved.