【问题标题】:Retrieving thumbnailPhoto from Active Directory in Django/Python在 Django/Python 中从 Active Directory 中检索 thumbnailPhoto
【发布时间】:2016-07-17 02:39:57
【问题描述】:

我已经看到了一些针对 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=Mqypdx\\\egc\\xff'

哪个是更好的选择:将字符串转换为图像并将其保存到模型的 ImageField,或者只是保存十六进制字符串并在视图中转换?这还重要吗?

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

感谢您对资源的任何帮助或指点

【问题讨论】:

    标签: python django hex


    【解决方案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))
    

    【讨论】:

    • 这很好用!我唯一的问题是,它没有将我的媒体根写入“照片”文件夹,而是直接保存在媒体文件夹库中。更改 {0} 和 {1} 之间的参数似乎没有改变任何东西,附加到 MEDIA_ROOT 的末尾也没有。仍在尝试它,但仍然接受它,因为它回答了最初的问题,而我剩下的只是一个挑剔:P 谢谢!
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-04-07
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多