java通过HttpServletResponse读取本地word下载
时间: 2023-11-09 18:15:03 浏览: 70
Java可以通过HttpServletResponse实现读取本地Word文档并下载。以下是一个简单的例子:
```java
@GetMapping("/download")
public void downloadWord(HttpServletResponse response) throws Exception {
// 读取本地Word文档
File file = new File("C:/test.docx");
FileInputStream fis = new FileInputStream(file);
// 设置响应头,告知浏览器要下载的文件类型为Word文档
response.setContentType("application/vnd.openxmlformats-officedocument.wordprocessingml.document");
response.setHeader("Content-Disposition", "attachment; filename=test.docx");
// 将Word文档写入响应体中
OutputStream os = response.getOutputStream();
byte[] buffer = new byte[1024];
int len;
while ((len = fis.read(buffer)) != -1) {
os.write(buffer, 0, len);
}
os.flush();
os.close();
fis.close();
}
```
在上面的代码中,我们首先通过FileInputStream读取本地的Word文档,然后设置响应头,告知浏览器要下载的文件类型为Word文档,并指定了文件名为test.docx。最后,我们将Word文档写入响应体中,浏览器将自动下载该文件。
需要注意的是,上面的代码中使用了try-with-resources语句块来自动关闭文件输入流和输出流。同时,我们还需要在项目中添加POI库的依赖。
阅读全文