我尝试从我的服务器(NanoHttpd)发送多个文件到我的客户端(Apache DefaultHttpClient)。我的方法是通过NanoHttpd的一个响应发送多个文件。
我只能在响应中发送一个InputStream,据我所知,我只能为请求使用一个响应。
我已经尝试过这个与SequenceInputStream,但这合并了所有文件在一起。
有没有办法在一个InputStream中发送多个文件而不合并它们,所以我可以单独访问它们?
您可以在响应中使用MIME/Multipart编码,这是通过HTTP发送多部分结构化内容的标准方式,并且Apache客户端应该能够动态解码(尽管在服务器端,您应该使用库来生成这种不那么简单的编码)。
另一种方法,可能更简单,可以在服务器端发送一个ZIP流:JDK有所有的东西来编码和解码双方的数据,参见ZipEntry和ZipInputStream/ZipOutputstream。