gpt4 book ai didi

java - 如何在一个请求中发送文件和重定向?

转载 作者:行者123 更新时间:2023-11-30 04:44:01 24 4
gpt4 key购买 nike

我有一个将文件发送到客户端的 servlet。是否可以添加重定向以开始下载并将用户重定向到另一个 html 页面?这是我的代码:

  protected void processRequest(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
try {
System.out.println("debut transfert fichier a " + request.getRemoteUser() + "/" + request.getRemoteAddr());

response.setContentType("text/plain");
response.setHeader("Content-Disposition",
"attachment;filename=my_file.pdf");
// ServletContext ctx = getServletContext();
File jnlp = new File(PATH);
InputStream is = new FileInputStream(jnlp);

int read = 0;
byte[] bytes = new byte[BYTES_DOWNLOAD];
OutputStream os = response.getOutputStream();

while ((read = is.read(bytes)) != -1) {
os.write(bytes, 0, read);
}
// not workinggetServletContext().getRequestDispatcher("/merci.html").forward(request, response);
os.flush();

os.close();
is.close();
HttpSession session = request.getSession();
//


} catch (Exception ex) {
System.out.println("Erreur inconnu lors transfert :" + ex);
}

谢谢。

最佳答案

更好的方法是将用户发送到摘​​要/感谢页面(向其传递一个下载 URL),并将浏览器“重定向”到实际的下载 URL。

用户应该停留在第二页,因为浏览器会识别出“重定向”是下载而不是新页面。

关于java - 如何在一个请求中发送文件和重定向?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11528503/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com