文件下载后返回jsp页面时出现问题

问题描述 投票:0回答:0

我有一个jsp页面,其中有文件下载、文件上传、文件删除、文件重命名功能。我正在使用 ServletOutputStream 和 FileInputStream 进行文件下载。我正在尝试在文件下载后返回 jsp 页面。但是当我尝试这样做时,我得到“getOutputStream() 已经被调用用于此响应”。为了解决这个问题,我返回了 null 但在这种情况下,一旦我下载了文件,其他功能也会下载该文件。我检查过其他功能每次都能正常工作,但在我先下载的情况下失败了。代码是usig struts框架。

protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {

response.setContentType("application/octet-stream");
response.setHeader("Content-Disposition", "attachment;filename=example.txt");

ServletOutputStream out = response.getOutputStream();
FileInputStream fileInputStream = new FileInputStream(new File("filepath"));
byte[] buffer = new byte[1024];
int length = 0;
while ((length = fileInputStream.read(buffer)) != -1) {
    out.write(buffer, 0, length);
}
fileInputStream.close();
out.flush();
out.close();

response.sendRedirect("myfilepage.jsp");

}

java file jsp servlets
© www.soinside.com 2019 - 2024. All rights reserved.