Cha*_*son 5 php flash upload uploadify
在过去的几个月里,我一直在我的PHP应用程序中使用Uploadify,而且我一直试图找出一个难以捉摸的bug.当发生致命错误时,我会收到电子邮件,并且它们为我提供了大量详细信息.我收到了几十个.但是,我没有能够自己重现这个问题.有些用户(比如我自己)没有遇到任何问题,而其他用户则有.
在我提出问题的细节之前,这是流程.
现在这就应该发生了.我收到上传冻结率为100%的报告以及其他显示"I/O错误"的报告.
发生了什么,表单是使用完成回调提交的,但表单中存在的一些帖子参数根本不在帖子数据中.页面的id,我之前说的是作为隐藏字段添加到表单中,在post数据($ _POST)中根本不存在 - $ _POST数组中没有'id'项.奇怪的是,帖子数据DOES包含某些字段的值.例如,我有一个名为"name"的文本输入,用于记录名称,它确实显示在帖子数据中.
这是我收集的内容:
有没有人有任何想法可能是什么原因?
IOError: Client read error (Timeout?)
Run Code Online (Sandbox Code Playgroud)
尽管我的服务器端是 python/django,但我经常遇到同样的错误。我认为这是客户端超时,但现在回顾一下日志,当我更改身份验证例程中的某些内容时,这种停止似乎是巧合的。服务器是否有可能正在接收文件但拒绝将其写入存储?
另外,您是否知道一些 Flash 客户端不发送 cookie?您必须通过将会话密钥注入 uploadify 的“scriptData”变量来解决这个问题。
X - - - - - - - - - - - - - - - -
编辑。此 python/django 代码从 uploadify 提交自身的例程开始:
# Adobe Flash doesn't always send the cookies, esp. from Apple Mac's.
# So we've told flash to send the session keys via POST. So recreate the
# session now. Also facilitates testing via curl.
cookie_name = settings.SESSION_COOKIE_NAME
if request.member.is_anonymous() and request.POST.has_key(cookie_name):
# Convert posted session keys into a session and fetch session
request.COOKIES[cookie_name] = request.POST[cookie_name]
SessionMiddleware().process_request(request)
# boot anyone who is still anonymous
if request.member.is_anonymous():
response['message'] = "Your session is invalid. Please login."
return HttpResponse(simplejson.dumps(response), mimetype='application/json')
Run Code Online (Sandbox Code Playgroud)