0

Java を使用して、.zip ファイルをサーバーの場所 (Unix 環境) にエクスポートしました。(例: 123_abc.txt を含む 123_abc.zip) 場所を確認すると、適切な .zip ファイルが作成され、さらにその中に .txt ファイルが含まれています。

その場所から同じファイルをダウンロードしようとしているときに Java を介して、ヘッダー情報が「application/zip」として渡されます。ダウンロードされるファイルは 123_abc.zip で、解凍すると OUT ファイルである 123_abc.zip が内部に存在します。さらに解凍すると、123_abc.txt が得られます。

.zip に存在するこの OUT ファイルは想定されていません。注 : このシナリオは、.zip ファイル タスクのエクスポート/ダウンロードを実行するアプリケーションがポータル アプリケーション内にデプロイされている場合に発生します。ポータルがない場合、私のコードは正常に動作し、OUT ファイルは作成されません。(ポータルは、メニュー ベースのアプリケーションであり、内部でアプリケーションをホストします)

コードスニペット:

    FileInputStream in = 
        new FileInputStream("/opt/xxx/xxx/123_abc.zip");

   response.setContentType("application/zip");

   response.setHeader(Content-Disposition,attachment;filename="123_abc.zip");

    ServletOutputStream out = response.getOutputStream();

     byte[] bytes = new byte[1024];

    while((length=in.read(bytes)) != -1){
        out.write(bytes, 0, length);
    }
    in.close();
    out.flush();
    out.close();

誰かが同様のシナリオに遭遇したかどうか教えてください/ OUTファイルの作成を担当する理由は何ですか.

4

0 に答える 0