PyAMFを使用して、動的に生成された大きな画像を Flex から Django に転送しています。Django 側では、encodedb64 データをパラメーターとして受け取ります。
イメージフィールドとしての My Item モデル。私が問題を抱えているのは、データをファイル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 を使用することもできます。
どう思いますか ?