【问题标题】:Converting raw binary data into an image file?将原始二进制数据转换为图像文件?
【发布时间】:2011-05-29 05:48:29
【问题描述】:

我正在尝试从包含原始 jpeg 二进制数据的 Active Directory 条目中读取字段。我想读取该数据并将其转换为图像文件,以便在基于 django 的应用程序中使用。我一生都无法弄清楚如何以一种好的方式处理这些数据。有什么想法吗?

编辑

对于将来可能遇到此问题的任何人:python 的操作系统库中有一个方法:

os.tmpfile()

它创建一个文件并在文件描述符关闭后销毁它。对于这种情况非常有用。

【问题讨论】:

  • 但是……你的问题是什么?你能读出来吗?您是否尝试将其存储并用作图像?
  • 我想我的问题只是我有点困惑。我没有打开要读取的文件——我正在访问一个基本上从二进制数据返回字符串的字段。我不知道如何处理它
  • @Brian 将其保存为带有 jpg 扩展名的二进制文件并尝试打开它:)
  • 哈哈是的,这就是我想要做的,但是通过 django 的 api。似乎使用这种方法我必须将它保存到一个临时位置,再次打开它(这次作为文件),然后通过 django 的 imagefield 和相关方法保存该文件。一定有更好的方法。
  • 为了记录,这有效(你提到的)。我只是不确定这是“django 方式”

标签: python django image-processing python-imaging-library


【解决方案1】:

这里有人遇到了同样的问题——查看底部的最新帖子。 http://groups.google.com/group/django-users/browse_thread/thread/4214db6699863ded/5d816b02daca3186

看起来将原始数据传递给 SimpleUploadedFile 是您正在寻找的。

request._raw_post_data

原始 HTTP POST 数据作为一个字节 细绳。这对处理很有用 不同格式的数据比 常规 HTML 表单:二进制 图片、XML 负载等。

http://docs.djangoproject.com/en/dev/ref/request-response/#httprequest-objects

我知道这不是问题的一部分,但这看起来非常棒! "HttpRequest.read() file-like interface" http://docs.djangoproject.com/en/dev/ref/request-response/#django.http.HttpRequest.read

【讨论】:

  • 我的文件没有上传——它没有附加到请求中,也没有任何普通文件应该具有的属性(例如名称)。我真的不知道如何处理它,就像字面上的原始字符串一样。
  • 精氨酸。你知道字符串是什么格式的吗?你能把它贴在某个地方吗?我想和它一起玩!
  • 给我几分钟,我会从 AD 中提取它 :)
  • 给你! heypasteit.com/download/QMG(注意这是一本字典)
  • 我能够成功地写入字符串(直接来自 AD,而不是我发布的字符串——谁知道它是否在此过程中被损坏了),只需写入二进制数据并给它一个 .jpg 扩展名- 我想我可能只需要编写自己的方法来执行此操作,然后将路径保存在 imagepath 字段中。我想不出任何其他方法。
猜你喜欢
  • 2015-02-28
  • 2013-09-30
  • 1970-01-01
  • 2017-11-27
  • 1970-01-01
  • 2012-12-15
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多