我可以将上传的文件存储在FileInputStream对象中吗?

时间:2012-04-23 06:25:50

标签: java html servlets

客户端应该上传.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)

OR 至少可以将(request.getContent)存储在FileInputStream中吗?

1 个答案:

答案 0 :(得分:2)

DataInputStream不适合您的要求(更仔细地阅读其Javadoc)。

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