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

您可以将请求存储在 a 中ByteArrayInputStream,然后将其提供给SlideShow对象。这可能会占用大量内存(PPT 文件的大小可能会达到数兆字节),但首先要让它发挥作用。然后,调查使用临时文件来保存上传,而不是将其保存在内存中。

于 2012-04-23T08:24:20.033 回答