我在 Python 中有一个 HTTP 服务器,它处理来自 curl 的文件上传请求
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'
这里有什么问题?