0

クライアントは.pptファイルをアップロードすることになっており、サーバーはそれを保存して表示することになっています。

(request.getContent())をDatainputStreamオブジェクトに保存しました。

    DataInputStream pptFile = new DataInputStream(request.getInputStream());

しかし、このタイプの変数(DataInputStream)をライブラリ(org.apache.poi.hslf.usermodel.SlideShow)からオブジェクトに割り当てることはできません。

 DataInputStream pptFile = new DataInputStream(request.getInputStream());
 SlideShow ppt = new SlideShow ( pptFile );

pptFileをFileInputStream変数として使用する必要があります。FileInputStreamからDataInputStreamに簡単に変換できることはわかっていますが、その逆を行うにはどうすればよいですか?(DataInputStreamからFileInputStreamへの変換)

または少なくとも(request.getContent)をFileInputStream内に格納できますか?

4

1 に答える 1

2

DataInputStreamは要件に適したクラスではありません(Javadocをより注意深く読んでください)。

リクエストをに保存してから、それをオブジェクトByteArrayInputStreamに提供できます。SlideShowこれは多くのメモリを消費する可能性がありますが(PPTファイルは数メガバイトのサイズになる可能性があります)、最初にそれを機能させます。次に、一時ファイルを使用してアップロードをメモリに保持するのではなく、保存することを検討します。

于 2012-04-23T08:24:20.033 に答える