我正在使用PyAMF将动态生成的大图像从 Flex 传输到 Django。在 Django 端,我收到编码的 b64 数据作为参数:
我的项目模型作为图像域。我有麻烦做的是将数据保存为文件 Django 字段。
def save_item(request, uname, data):
""" Save a new item """
item = Item()
img = cStringIO.StringIO()
img.write(base64.b64decode(data))
myFile = File(img)
item.preview.save('fakename.jpg', myFile, save=False)
那是行不通的,因为我来自 StringIO 的 File 对象错过了一些属性,例如模式、名称等。
我还认为使用 StringIO 会将图像数据完全加载到内存中,这很糟糕,所以我可能会在这种特殊情况下放弃 AMF 并使用 POST。
你怎么看 ?