我们使用CGI.pm来帮助我们在我们的网站上处理文件上传,并通过我们的Android应用程序使用我们的API & iPhone应用程序。我们最近注意到,CGI.pm似乎没有返回几乎50%的文件通过我们的iPhone应用程序上传的参数。我们还没有看到与通过我们网站上传的文件类似的问题。棘手的问题处理文件在Perl上传
我们不能在测试中复制问题,但在生产中CGI.pm的cgi_error()方法在缺少CGI.pm参数的情况下不报告任何错误。我们已确认iPhone应用程序在发布上传文件时始终包含正确的参数。
快速设置背景。我们将应用程序分配到使用Amazon Elastic Load Balancer进行负载平衡的Amazon EC2服务器上。我们也有$ CGI :: POST_MAX =(1024 * 100000);所以POST最大大小设置为100MB,我们已确认所有上传都在此限制之下。
我不知道下一步该去哪里。关于这个问题可能是什么以及如何解决它的任何想法都将非常感谢。对于如何识别问题的根源也有帮助,因此我们可以开始排除故障。
在此先感谢您的帮助!
当您说CGI.pm上传的文件的50%没有返回参数时,能澄清一下您的含义吗?那些params是不是文件数据丢失,或者没有简单的数据给CGI.pm?错误日志是否显示这些请求有任何错误? – kbenson 2012-02-15 05:03:26
尽管我们已经验证了所有参数都被iPhone应用程序正确提交,但CGI.pm完全没有返回参数。错误日志不报告任何内容,也不是cgi_error()方法,这就是为什么我们被困住了。 – 2012-02-15 15:38:54
在多部分MIME编码之前或之后是100MB吗? – daxim 2012-02-15 18:27:35