Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/336.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何使用Python文件上载接受zip文件_Python_Python 3.x - Fatal编程技术网

如何使用Python文件上载接受zip文件

如何使用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=

我正在使用Python3接受文件上传。除了包含多个文件的压缩文件外,该系统在我使用过的所有测试用例中都运行良好

我可以用以下方法复制问题:

<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,))