FileInputStream返回前端下载
时间: 2024-02-02 09:09:47 浏览: 150
你可以使用Java的FileInputStream类来实现将文件返回给前端进行下载。以下是一个示例代码:
```java
import java.io.File;
import java.io.FileInputStream;
import java.io.IOException;
import javax.servlet.ServletOutputStream;
import javax.servlet.http.HttpServletResponse;
public class FileDownloadController {
public void downloadFile(HttpServletResponse response) throws IOException {
// 获取要下载的文件
File file = new File("path/to/file");
// 设置响应头信息
response.setContentType("application/octet-stream");
response.setHeader("Content-Disposition", "attachment; filename=" + file.getName());
// 创建输入流读取文件内容
FileInputStream fis = new FileInputStream(file);
// 创建输出流将文件内容写入响应
ServletOutputStream sos = response.getOutputStream();
// 缓冲区大小
byte[] buffer = new byte[1024];
int len;
// 读取文件内容并写入响应
while ((len = fis.read(buffer)) != -1) {
sos.write(buffer, 0, len);
}
// 关闭流
sos.close();
fis.close();
}
}
```
你可以将上述代码放在一个Java类中,然后在你的后端代码中调用`downloadFile`方法,传入`HttpServletResponse`对象即可实现将文件返回给前端进行下载。
阅读全文