私は自分のウェブサイトのユーザープロファイルアバターを扱うためにdjango-avatarsを使用しています。私は現在、サイト用のネイティブAndroidアプリを開発しています。これには、ユーザーがアバターをアップロードする機能が含まれています。私は画像をデコードするbase64経由でファイルをアップロード
data = base64.b64decode(request.POST['data'])
out = open("etc/test.jpeg", "wb")
out.write(data)
out.close()
を持って、私のDjangoのビューではベース64でエンコードされたGETパラメータ経由で画像データを渡しています。これはうまくいきます(test.jpegは私が望むファイルです)、これをdjango-avatarsに結びつけるのに問題があります。
次は、新しいアバターを作成するために使用され、ジャンゴ・アバターのソースを通してみる:
avatar = Avatar(
user = request.user,
primary = True,
)
image_file = request.FILES['avatar']
avatar.avatar.save(image_file.name, image_file)
avatar.save()
私の質問は、私は必要なrequest.FILES形式に私のファイルのデータを変換する方法、です、(または私のフォーマットを受け入れるためにsaveメソッドを書き直す最も簡単な方法は何ですか?
django Fileオブジェクトの作成に問題があります。私はavatar.avatar.save()行でこのエラーを生成するhttp://dpaste.com/743542/を持っています:http://dpaste.com/743541/ – numegil
データの長さを割り当てる必要がありますStringIOオブジェクトの 'size'属性に追加します。 –
素晴らしい、ありがとう! – numegil