2

私は単純な html フォームと cgi-bin によって処理されるバックエンド python を持っています。フォームからファイルをアップロードし、そのファイルの内容を Python スクリプトで出力しようとしています。私のHTMLコード:

<form id = "upload" enctype="multipart/form-data" action="/var/www/cgi-bin/test.py" method="post">
            <div id = "table">
                <table class = "center" border="1" cellpadding="10">
                    <tr><td style="height: 131px">Product Details</td>
                        <td style="height: 131px">Product Name*:&nbsp;<input type="text"  name="product" id="product" size="35" ><br /><br />
                                                  Platform*: &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;   <input type="text"  name="platform" id="platform" size="35" >
                    </td></tr> 
                    <tr><td style="height: 131px">File Upload</td>
                    <td style="height: 131px"><p>Upload Host File: <input type="file" name="hostupload" /></p><br/>
                                                 Upload Test File: <input type="file" name="testupload" /></p>
                    </td></tr> 
                    <tr align="center"><td></td><td><input type = "submit" id="upload" value = "UPLOAD"/>
                   </td></tr>   
                </table>
            </div>
        </form>

私のpythonコード:

#!/usr/local/bin/python
import os
import commands
import cgi, cgitb

print "Content-Type: application/json"
print
form = cgi.FieldStorage()


product = form['product'].value
platform =  form['platform'].value
filedata = form['hostupload']
print product
print platform

if filedata.file:
   print filedata.file.read()

製品とプラットフォームは正常に印刷されています。しかし、 filedata = form['hostupload'] という行を追加すると、エラーが発生します。

File "/usr/local/lib/python2.7/cgi.py", line 541, in __getitem__, referer:   
[error] [client 10.1.1.212]     raise KeyError, key,  

しかし、「hostupload」という名前は私の形式では正しいです。誰が私が間違っているのか教えてもらえますか?

4

0 に答える 0