HttpServletResponse 多附件下载
时间: 2023-11-08 13:16:57 浏览: 156
Servlet多文件打包下载
要实现多附件下载,你可以使用 HttpServletResponse 对象来设置多个附件的响应头。以下是一个示例代码:
```java
// 设置响应头为多附件下载
response.setHeader("Content-Disposition", "attachment; filename=attachment1.txt");
response.setHeader("Content-Disposition", "attachment; filename=attachment2.txt");
// 获取文件的输入流
InputStream inputStream1 = new FileInputStream("path/to/attachment1.txt");
InputStream inputStream2 = new FileInputStream("path/to/attachment2.txt");
// 获取响应输出流
OutputStream outputStream = response.getOutputStream();
// 设置缓冲区大小
byte[] buffer = new byte[1024];
int bytesRead;
// 将文件内容写入响应输出流
while ((bytesRead = inputStream1.read(buffer)) != -1) {
outputStream.write(buffer, 0, bytesRead);
}
inputStream1.close();
while ((bytesRead = inputStream2.read(buffer)) != -1) {
outputStream.write(buffer, 0, bytesRead);
}
inputStream2.close();
// 关闭响应输出流
outputStream.close();
```
在上面的示例中,我们首先使用 `setHeader()` 方法设置了两个附件的响应头。然后,通过 `FileInputStream` 来获取两个附件的输入流。接下来,我们通过 `getOutputStream()` 方法获取响应的输出流,并将文件内容写入输出流,实现了多附件下载。最后,记得关闭输入流和输出流。
请注意,在实际使用中,你需要根据自己的情况修改文件路径和文件名。此外,你还可以根据需要设置其他响应头参数,如文件类型、文件大小等。
阅读全文