如何将 django 中的 InMemoryUploadedFile 转换为 flickr API 的格式?

How to convert an InMemoryUploadedFile in django to a fomat for flickr API?

我有一个 class 可以将文件上传到 Flickr。文件类型
'InMemoryUploadedFile'.

我想知道如何将 'InMemoryUploadedFile' 文件中的数据转换或传递为 flickr 的格式 API?

例如:

{'photo': ('image.jpg', <InMemoryUploadedFile: image.jpg (image/jpeg)>)}

上传API:https://www.flickr.com/services/api/upload.api.html

错误代码

<?xml version="1.0" encoding="utf-8" ?>
<rsp stat="fail">
    <err code="4" msg="Filesize was zero" />
</rsp>

InMemoryUploadedFile 是围绕文件对象的 wrapper。您可以使用 file 属性访问文件对象。因此,在您的示例中,尝试将其传递给 Flickr API:

{'photo': my_in_memory_file.file}

如果这不起作用,请编辑您的问题,并围绕您用于提交请求的代码提供更多详细信息。

InMemoryUploadedFile 对象中的数据已成功提取并通过以下方式传递给 Flickr:

import StringIO
file.seek(0)
file_handle = StringIO.StringIO(file.read())
{'photo': ('image.jpg', file_handle)}

谢谢