我已经看到了针对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是否故意这样做?
感谢您提供任何帮助或指向资源
答案 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))