InputStream包含多个文件

问题描述:

我尝试从我的服务器(NanoHttpd)发送多个文件到我的客户端(Apache DefaultHttpClient)。 我的方法是通过NanoHttpd的一个响应发送多个文件。
我只能在响应中发送一个InputStream,并且据我所知,我只能对请求使用一个响应。InputStream包含多个文件

我已经尝试过使用SequenceInputStream,但是这将所有文件合并在一起。
有没有办法在一个InputStream中发送多个文件而不合并它们,所以我可以单独访问它们?

在此先感谢。

您可以在您的响应中使用MIME/Multipart编码,这是通过HTTP发送多部分结构化内容的标准方式,并且Apache客户端应该能够即时解码(尽管在服务器端,您应该使用库来产生这种不那么简单的编码)。

另一种方式,可能更简单,可能是在服务器端发送一个ZIP流:JDK具有对双方数据进行编码和解码的所有内容,请参阅ZipEntry和ZipInputStream/ZipOutputstream。