上传时读取POST数据

时间:2011-02-01 11:55:24

标签: python apache post cgi

我即将完成一个jquery插件,该插件应该使用ajax和python cgi脚本为文件上传提供进度条。

我的插件受到this piece of software的启发。

这个想法是在浏览器上传时读取(使用python cgi脚本)原始发布数据,解析它,将文件(以块为单位)写入磁盘,同时使用ajax向服务器询问当前写入的文件大小

该插件可在我的服务器和其他一些虚拟主机服务器上运行。但是在Mochahost上(使用apache)它无法正常工作。该服务器所做的是它在所有上传完成后调用我的python cgi脚本,而不是在文件上传时(如预期的那样)。我通过在python脚本的最开头添加一个命令来编写测试文件来验证调用的时刻。调用python时该命令应该触发,并且不涉及读取sys.stdin

即使在那个服务器上,python cgi脚本也可以(几乎)按预期工作。它以块的形式读取sys.stdin,解析它并将文件写入磁盘。问题是时机问题。服务器不会实时向python提供输入流,但是,在收到浏览器的所有帖子后,它会调用python并使用已保存在某处的原始发布数据填充sys.stdin

我不知道是否相关,但我注意到他们的apache版本是2.0.x而SERVER_PROTOCOL是HTTP / 1.0。在其他虚拟主机服务器上,SERVER_PROTOCOL是HTTP / 1.1。

有人可以说上传完成后可以使服务器或者特别是apache服务器调用cgi脚本的事情,而不是浏览器要求它吗?

0 个答案:

没有答案