在Django / Python中从Active Directory检索thumbnailPhoto

时间:2016-03-29 13:39:07

标签: python django hex

我已经看到了针对C#或PHP这个问题的一些答案,但是没有什么能帮助我使用Django,所以如果我错过了一些明显的东西,那么道歉。

因此,通过LDAP查询获取thumbnailPhoto会获得一个字节数据字符串,格式为'\\ xff \\ xd8 \\ xff \ xe0 \\ x00 \\ x10JFIF \\ x00 \\ x01 \\ x01 \\ x01 \\ x00 \\ x01 \\ x00 \\ x01 \\ x00 \ x00 \\ xff \\ xdb \\ x00C \\ x00 ...'依此类推。还有一些奇怪的部分,比如'\\ x16 \\ x16 \\ x181#%\\ x1d(:3 =< 9387 @ H \\\ N @ DWE78PmQW_bghg> Mqypdx \\\ egc \\ xff'

哪个是更好的选择:将字符串转换为Image并将其保存到Model的ImageField,或者只保存十六进制字符串并在视图中转换它?它甚至重要吗?

处理这个字符串的合适方法是什么?我是否需要在每个十六进制值之前用空格替换'\\ x',或者python是否故意这样做?

感谢您提供任何帮助或指向资源

1 个答案:

答案 0 :(得分:1)

我认为将结果缓存在ImageField中是个好主意。你这样做了

from django.core.files.base import ContentFile
somemodel.image.save('{0}/photos/{1}.jpg'.format(settings.MEDIA_ROOT, username), ContentFile(your_byte_string))