画像アンドロイド(クライアント)をbase64文字列に変換してdjango(サーバー)に送信しようとしています。サーバー側で文字列を受け取り、デコードして名前を変更しました。ただし、画像を保存しようとすると失敗します。
これは、サーバー上で画像が保存されるはずのパスです。models.py
class App(models.Model):
name = models.CharField(max_length=200)
#create_date = models.DateTimeField('date created')
category = models.CharField(max_length=200, null=True)
app_logo = models.ImageField(upload_to="/root/AR_BROWSER/example/static/uploaded_pics", null=True, blank=True)
user = models.ForeignKey(App_User)
def __unicode__(self):
return self.name
views.py の関数
@csrf_exempt
def create_app(request):
appName = request.POST['name']
user = request.POST['userID']
c = request.POST['category']
i = request.POST['image']
imgdata = base64.b64decode(i)
t = datetime.now()
filename = t.strftime('%Y%m%d%H%M%S.jpg')
with open(filename, 'wb') as f:
f.write(imgdata)
u=App_User.objects.get(id=user)
apps = App.objects.create(name = appName, category=c, user_id = u.id, app_logo=filename)
apps.save()
return HttpResponse("You created %s." % apps.name)