post 测试 HttpServletResponse下载文件
时间: 2023-08-18 20:14:56 浏览: 147
Http Servlet文件上传下载
4星 · 用户满意度95%
好的,可以参考以下代码实现:
```java
@RequestMapping(value = "/download", method = RequestMethod.GET)
public void downloadFile(HttpServletResponse response) {
// 设置要下载的文件名
String fileName = "example.txt";
// 设置文件路径
String filePath = "/path/to/file/example.txt";
// 获取文件对象
File file = new File(filePath);
// 设置文件下载头信息
response.setHeader("Content-Disposition", "attachment; filename=" + fileName);
response.setContentType("application/octet-stream");
response.setContentLength((int) file.length());
try (InputStream inputStream = new FileInputStream(file);
OutputStream outputStream = response.getOutputStream()) {
// 将文件写入输出流
byte[] buffer = new byte[1024];
int length;
while ((length = inputStream.read(buffer)) > 0) {
outputStream.write(buffer, 0, length);
}
outputStream.flush();
} catch (IOException e) {
e.printStackTrace();
}
}
```
在这个例子中,我们使用了 `HttpServletResponse` 对象来发送文件给客户端。代码中首先设置了要下载的文件名和文件路径,然后获取了文件对象。接着设置了文件下载头信息,包括文件名和内容类型,并将文件长度设置为响应体大小。最后,将文件写入响应输出流中,即可完成文件下载。
阅读全文