如何使用Python文件上载接受zip文件
我正在使用Python3接受文件上传。除了包含多个文件的压缩文件外,该系统在我使用过的所有测试用例中都运行良好 我可以用以下方法复制问题:如何使用Python文件上载接受zip文件,python,python-3.x,Python,Python 3.x,我正在使用Python3接受文件上传。除了包含多个文件的压缩文件外,该系统在我使用过的所有测试用例中都运行良好 我可以用以下方法复制问题: <form enctype="multipart/form-data" method="post" action="processForm.py"> Upload file:<input id="userfile" name="userfile" type="file"> <input name="submit" value=
<form enctype="multipart/form-data" method="post" action="processForm.py">
Upload file:<input id="userfile" name="userfile" type="file">
<input name="submit" value="Submit" type="submit">
</form>
并尝试发送包含两个文本文件的.zip文件
错误出现在form=cgi.FieldStorage()行中,如下所示:
python3.3/cgi.py in __init__(self=FieldStorage(None, None, []), fp=None, headers={'content-length': '1875', 'content-type': 'multipart/form-data; boundary=---------------------------19416681558887788815658698'}, outerboundary=b'', environ=environ({'SERVER_PORT': '80', 'DOCUMENT_ROOT': '...late', 'HTTP_ACCEPT_LANGUAGE': 'en-US,en;q=0.5'}), keep_blank_values=0, strict_parsing=0, limit=None, encoding='utf-8', errors='replace')
cgi.py in read_multi(self=FieldStorage('userfile', 'signalFreqNov14-3c.txt.zip', None), environ=environ({'SERVER_PORT': '80', 'DOCUMENT_ROOT': '...late', 'HTTP_ACCEPT_LANGUAGE': 'en-US,en;q=0.5'}), keep_blank_values=0, strict_parsing=0)
if not valid_boundary(ib):
raise ValueError('Invalid boundary in multipart form: %r' % (ib,))
您是否尝试过将
应用程序/zip
MIME类型用于该文件或任何zip文件?是,对于包含多个文件的任何zip文件,都会出现这种情况。如果我将表单更改为enctype=“application/zip”,那么如何获取文件数据?fileitem=form['userfile']如果fileitem.filename:fn=os.path.basename(fileitem.filename)打印('files/'+fn+'was upload')打开('files/'+fn,'wb')。写入(fileitem.file.read())消息='The file'+fn+'已成功上载“else:print('no fileitem.filename')是否始终转到else案例?
python3.3/cgi.py in __init__(self=FieldStorage(None, None, []), fp=None, headers={'content-length': '1875', 'content-type': 'multipart/form-data; boundary=---------------------------19416681558887788815658698'}, outerboundary=b'', environ=environ({'SERVER_PORT': '80', 'DOCUMENT_ROOT': '...late', 'HTTP_ACCEPT_LANGUAGE': 'en-US,en;q=0.5'}), keep_blank_values=0, strict_parsing=0, limit=None, encoding='utf-8', errors='replace')
cgi.py in read_multi(self=FieldStorage('userfile', 'signalFreqNov14-3c.txt.zip', None), environ=environ({'SERVER_PORT': '80', 'DOCUMENT_ROOT': '...late', 'HTTP_ACCEPT_LANGUAGE': 'en-US,en;q=0.5'}), keep_blank_values=0, strict_parsing=0)
if not valid_boundary(ib):
raise ValueError('Invalid boundary in multipart form: %r' % (ib,))