我正在使用CGIHTTPServer实现一个简单的cgi服务器。我尝试通过具有post方法和multipart/ form -data封装类型的表单上传文件,但在恢复cgi脚本中字段的值时遇到问题。
当脚本捕获表单字段时,文件的值是一个只有两个字段(键和文件名)的MiniFieldStorage,我无法恢复文件的内容。如API文档所示,此内容在StorageField的value字段中,但在MiniFieldStorage中此字段不是exits。
如何恢复包含文件内容而不是MiniStorageField的StorageField?有没有其他使用CGIHTTPServer上传文件的方法?
非常感谢
发布于 2010-09-13 00:22:18
请提供一些代码示例。从文本中猜测,您应该查看cgi module。遵循示例,特别是cgi.test()函数。
cgi-通用网关接口支持
通用网关接口(CGI)脚本支持模块。
此模块定义了许多实用程序,以供用Python编写的CGI脚本使用。
引用FieldStorage description (使用cgi模块):
要获取提交的表单数据,最好使用
FieldStorage类。提供此模块中定义的其他类主要是为了向后兼容。只实例化一次,不带参数。CGI从标准输入或环境读取表单内容(取决于根据CGI标准设置的各种环境变量的值)。因为它可能使用标准输入,所以应该只实例化一次。
https://stackoverflow.com/questions/3695441
复制相似问题