0

curl からのファイル アップロード リクエストを処理する Python の HTTP サーバーがあります。

class HTTPRequestHandler(BaseHTTPRequestHandler):
    def do_POST(self):
            if re.search('/api/v1/addphoto', self.path):
                    form_data=cgi.FieldStorage()
                    file_data=form_data['photofile'].value 
                    # Next I will save this file 
                    # fp =open('some/file','wb')
                    # fp.write(file_data)
                    # fp.close()

ここで、curl を使用してリクエストを送信する必要があり、コマンドは次のとおりです。

curl -i -F name=photofile -F filedata=@01.jpeg http://server_ip:port/api/v1/addphoto

しかし、サーバーレポートエラー

File "./apiserver.py", line 21, in do_POST
    file_data=form_data['photofile'].value
File "/usr/lib/python2.7/cgi.py", line 541, in __getitem__
    raise KeyError, key
KeyError: 'photofile'

ここで何が問題なのですか?

4

2 に答える 2