2012-03-21 13 views
7

ファイル入力を使用してzipフォルダをアップロードしましたが、このzipが有効かどうかを確認すると、有効なpkzipファイルではありません。 pkzip。 私がチェックするためにこのコードを使用:Pythonで有効なzipファイル

form = cgi.FieldStorage() 
file_upload = form['file[]'] 
if zipfile.is_zipfile(file_upload.filename): 
    print "%s is a valid pkzip file" % file_upload.filename 
else: 
    print "%s is not a valid pkzip file" % file_upload.filename 

私はtest.zipをアップロードするとき、たとえば、O/Pがなる理由を私は知らない? test.zipは、有効なPKZIPファイルではありません、私は助けが必要です。ありがとう

+0

使用しているPythonのバージョンはどれですか? – katrielalex

答えて

10

zipfile.is_zipfileはファイルまたはファイルのようなオブジェクトへのパスをとります。あなたはそれを渡していないので、失敗します。

代わりにfile_upload.fileについて尋ねてください。

+0

:私はpython 2.5を使用してEclipseで作業していますが、file_upload.fileと言ってみましたが、エラーは次のとおりです。Unicodeに強制する:文字列またはバッファが必要です.cStringIO.StringOが見つかりました。 –

+0

あなたはファイルを読む必要があります - それは '.getvalue()'かもしれません。私は正確な方法を覚えておらず、データを 'zipfile'に渡します。あるいは、それを 'TemporaryFile'に書き出します。 – katrielalex

+0

@ katrielalex:アップロードされたファイルのパスを取得するにはどうすればいいですか?zipfile.is_zipfile ???ありがとう –

関連する問題