我的表格是:
<form name="mail-me" action="/mail-me.py" method="POST" enctype="multipart/form-data">
<input id='file' type='file' name='file' />
我在python中这样做(我使用的是本机google python dev_appserver webapp2.RequestHandler绑定):
fileH = self.request.POST["file"]
print(fileH.name)
print(fileH.type)
我得到:
file
application/octet-stream
我上传的文件是:wodim.conf
所以我应该使用wodim.conf而不是file
。我做错了什么 - 我如何解决这个问题,因为我得到了:
Error: Server Error
The server encountered an error and could not complete your request.
Please try again in 30 seconds.
答案 0 :(得分:0)
request.FILES['filename'].name
来自request文档。
您可以遍历文件:
for filename, file in request.FILES.iteritems():
name = request.FILES[filename].name
答案 1 :(得分:0)
想出来,做了一个:print(dir(fileH)) - 这给了我一个支持的属性列表,filename
是我应该使用的,而不是'文件'。所以,print(fileH.filename)
有效。我收到服务器错误,因为google-app-server只允许固定的扩展列表(上传时不允许.exe)。如果你这样做:fname = fileH.file
'file'被返回,这将导致问题,因为它没有扩展名(因此错误信息)。