1

アクションが Python スクリプトに設定されている HTML フォームがあり、フォームでどのチェックボックスが選択されているかをテストします。この情報から、スクリプトを使用して、チェックされたチェックボックスに対応するファイルを含む zip ファイルを作成します。この動的に圧縮されたファイルをできるだけ簡単にユーザーに返す必要があります。ダウンロードの確認ダイアログが最適だと考えましたが、他に広く受け入れられている標準があれば、私はすべて耳にします。ホスト サーバーは、Python がサポートされている Apache です。スクリプト コードは次のとおりです。

#!usr/bin/env python

from zipfile import *;
import cgi, cgitb, os, os.path, re, sys; cgitb.enable();

def main():
    form = cgi.FieldStorage();
    zipfile = ZipFile( "zipfiles.zip" );

    if( form.getvalue( "checkbox1" ) ):
        zip.write( "../files/file1.txt", "zipfile1.txt" );

    if( form.getvalue( "checkbox2" ) ):
        zip.write( "../files/file2.txt", "zipfile2.txt" );

    zip.close();

    print ('Content-Type:application/octet-stream; name="zipfiles.zip');
    print ('Content-Disposition:attachment; filename="zipfiles.zip');

if( __name__ == "__main__" ):
    main();

このコードは機能せず、内部サーバー エラーが発生します。何が問題なのか、どうすれば zipfiles.zip をユーザーに提供できるのかを説明してください。Python を使い始めてまだ 3 日目です。したがって、私は何が起こっているのかほとんど知らないので、私が知っているかもしれないと思われるものを飛ばさないでください。

4

1 に答える 1