我正在使用CGIHTTPServer来实现一个简单的cgi服务器。我正在尝试使用post方法和multipart / form-data enctype上传文件,但是当我恢复cgi脚本中字段的值时,我遇到了问题。
当脚本捕获表单字段时,文件的值是MiniFieldStorage,只有两个字段(键和文件名),我无法恢复文件的内容。正如API文档所示,此内容位于StorageField的值字段中,但在MiniFieldStorage中此字段不会退出。
¿如何使用文件内容而不是MiniStorageField恢复StorageField? ¿还有其他方法可以使用CGIHTTPServer上传文件吗?
非常感谢
答案 0 :(得分:1)
请提供一些代码示例。
从文本中猜测,你应该查看cgi
module。
请按照示例,特别是cgi.test()
函数。
cgi
- 通用网关接口支持通用网关接口(CGI)脚本的支持模块。
该模块定义了许多由Python编写的CGI脚本使用的实用程序。
引用FieldStorage
description(使用cgi模块):
要获取提交的表单数据,最好使用
FieldStorage
类。提供此模块中定义的其他类主要是为了向后兼容。只需实例化一次,不带参数。 从标准输入或环境中读取表单内容(取决于根据CGI标准设置的各种环境变量的值)。由于它可能消耗标准输入,因此只应实例化一次。