【问题标题】:Exception occurred processing WSGI script - IOError: failed to write data处理 WSGI 脚本时发生异常 - IOError: failed to write data
【发布时间】:2013-05-21 12:48:13
【问题描述】:

我正在尝试将图像保存在服务器端。我将其作为 base64 字符串接收,因此我先对其进行解码,然后将其保存在数据库中。但是失败了,所以我检查了服务器错误日志,发现下列的 错误日志

    [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)

【问题讨论】:

  • 检查权限(对于 apache 用户)并检查磁盘空间
  • 使用 chmod 777 检查权限,图像大小只有 25kb,所以我不认为这是个问题。
  • 能否请您显示保存图像的实际代码?
  • 在问题中添加了它。

标签: python django mongodb django-uploads


【解决方案1】:

来自 mod_wsgi 的没有回溯的消息通常意味着 HTTP 客户端在 mod_wsgi 将所有响应数据写回之前关闭了连接。

【讨论】:

  • 那么解决办法是什么?
  • 没有解决办法。这是可能发生的正常事情。在页面完全返回之前,您不能阻止用户浏览离开页面。您也无法防范导致连接中断的网络问题,这在客户端在移动设备上运行时非常普遍。
猜你喜欢
  • 2016-04-22
  • 1970-01-01
  • 2016-02-11
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-11-03
相关资源
最近更新 更多