我无法使用CGIHTTPServer上传文件

时间:2010-09-12 15:44:54

标签: python cgi

我正在使用CGIHTTPServer来实现一个简单的cgi服务器。我正在尝试使用post方法和multipart / form-data enctype上传文件,但是当我恢复cgi脚本中字段的值时,我遇到了问题。

当脚本捕获表单字段时,文件的值是MiniFieldStorage,只有两个字段(键和文件名),我无法恢复文件的内容。正如API文档所示,此内容位于StorageField的值字段中,但在MiniFieldStorage中此字段不会退出。

¿如何使用文件内容而不是MiniStorageField恢复StorageField? ¿还有其他方法可以使用CGIHTTPServer上传文件吗?

非常感谢

1 个答案:

答案 0 :(得分:1)

请提供一些代码示例。 从文本中猜测,你应该查看cgi module。 请按照示例,特别是cgi.test()函数。

  

cgi - 通用网关接口支持

     

通用网关接口(CGI)脚本的支持模块。

     

该模块定义了许多由Python编写的CGI脚本使用的实用程序。

引用FieldStorage description(使用cgi模块):

  

要获取提交的表单数据,最好使用FieldStorage类。提供此模块中定义的其他类主要是为了向后兼容。只需实例化一次,不带参数。 从标准输入或环境中读取表单内容(取决于根据CGI标准设置的各种环境变量的值)。由于它可能消耗标准输入,因此只应实例化一次。