首页 > 解决方案 > 如何在 Odoo10 中获取字段二进制的 mimetype?

问题描述

我创建了一个名为的二进制字段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.7odooodoo-10

解决方案


你好@KbiR

Python 的魔法函数将获得 mimetype:

import magic
mime = magic.Magic(mime=True)
mime.from_file("youtPath/fileName.pdf") # 'application/pdf'

推荐阅读