2010-09-12 63 views
1

我正在使用CGIHTTPServer來實現簡單的cgi服務器。我試圖通過post方法和multipart/form-data enctype的表單上傳文件,但是當我恢復cgi腳本中的字段值時遇到了問題。我無法使用CGIHTTPServer上傳文件

當腳本捕獲表單域時,文件的值是隻有兩個域(鍵和文件名)的MiniFieldStorage,我無法恢復文件的內容。如API文檔所示,此內容位於StorageField的值字段中,但在MiniFieldStorage中,此字段不存在。

¿如何使用文件內容而不是MiniStorageField恢復StorageField? ¿還有其他方法可以使用CGIHTTPServer上傳文件嗎?

非常感謝

回答

1

請提供一些代碼示例。 從文本猜測,你應該看看cgi module。 請遵循示例,特別是cgi.test()函數。

cgi - 通用網關接口支持

通用網關接口(CGI)腳本

支持模塊。

該模塊定義了一些供Python編寫的CGI腳本使用的實用程序。

引述FieldStorage description(使用CGI模塊):

爲了獲得在提交的表單數據,最好使用FieldStorage類。本模塊中定義的其他類主要用於向後兼容。實例化它只有一次,沒有參數。 這將從標準輸入或環境(取決於根據CGI標準設置的各種環境變量的值)讀取表單內容。由於它可能會消耗標準輸入,因此應僅實例化一次。