2013-05-21 8 views
6

サーバーサイドでイメージを保存しようとしています。まずbase64文字列として受け取ってデコードしてからデータベースに保存します。ので、私は、サーバーのエラーログをチェックして、私は次のよう のerror.logWSGIスクリプトの処理中に例外が発生しました - IOError:データの書き込みに失敗しました

[Tue May 21 14:26:38 2013] [error] [client 41.236.182.133] mod_wsgi (pid=4952): Exception occurred processing WSGI script '/root/AR_BROWSER/example/wsgi.py'. 
[Tue May 21 14:26:38 2013] [error] [client 41.236.182.133] IOError: failed to write data 

を見つけた私はwsgi.py

import os 
import sys 

path = '/root/AR_BROWSER/example' 

sys.path.append('/root/AR_BROWSER/example') 
sys.path.append('/root/AR_BROWSER') 
sys.path.append('/root/AR_BROWSER/example/app') 

os.environ['DJANGO_SETTINGS_MODULE'] = 'settings' 

import django.core.handlers.wsgi 
application = django.core.handlers.wsgi.WSGIHandler() 

を確認しかし、私は間違って何かを見つけることができません。どのようなアイデアがこの問題の原因になるのでしょうか? 画像

@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('test.jpg') 
     with open(filename, 'w') as f: 
      f.write(imgdata) 
      f.close() 
     u=App_User.objects.get(id=user) 
     apps = App.objects.create(name = appName, category=c, user_id = u.id, app_logo=File(filename)) 
     apps.save() 

     return HttpResponse("You created %s." % apps.name) 
+0

許可を確認してください(apacheユーザ用)。ディスクスペースを確認してください。 –

+0

chmod 777を使用して権限をチェックしました。イメージサイズはわずか25kbです。問題ではありません。 – omarsafwany

+0

イメージを保存する実際のコードを表示してください。質問には – alecxe

答えて

7

を保存するための責任のコードなしトレースバックとのmod_wsgiからそのメッセージは、一般的に、すべての応答データがmod_wsgiをバックそれに書くことができます前に、HTTPクライアントが接続を閉じたことを意味します。

+0

だから何が解決策ですか? –

+0

解決策はありません。それは起こり得る正常な事です。ページが完全に返される前に、ユーザーがページを閲覧しないようにすることはできません。また、クライアントがモバイルデバイス上で実行されている場合には、接続が壊れてしまうネットワークの問題を防ぐこともできません。 –

関連する問題