gpt4 book ai didi

java - 从网络应用程序下载文件时,页面的 HTML 代码写入文件

转载 作者:行者123 更新时间:2023-11-30 05:59:04 25 4
gpt4 key购买 nike

我有一个 downloadfile servlet 代码,它将动态地将内容添加到 CSV 文件中以供用户下载。但是,该页面的 HTML 代码并没有显示在文件中,而是将我想要添加的内容添加到 CSV 文件中。谁能告诉我是什么导致了这个错误?这是我的 Controller 代码

response.setContentType("text/csv");
response.setHeader("Content-Disposition", "attachment";
filename="\\evaluations.csv\\");

try
{
OutputStream outputStream = response.getOutputStream();
String outputResult = "xxxx, yyyy, zzzz, aaaa, bbbb, ccccc, dddd, eeee, ffff, gggg\n";
outputStream.write(outputResult.getBytes());
outputStream.flush();
outputStream.close();
} catch(Exception e) {
status = "Error exporting file, please try again later";
System.out.println(e.toString());
}

//request.setAttribute("status",status);
//dispatcher = request.getRequestDispatcher("/viewEvaluations.jsp");
//dispatcher.forward(request, response);

编辑:

删除转发请求实际上会阻止 HTML 代码被复制到文件中,我也意识到它是多余的,并且我已将它们注释掉。这是导致问题的代码。

最佳答案

如果您只想重新加载当前页面,那么您可以使用一个技巧:

您的<a>标签应该是这样的:

<a href="javascript:void(0)" id="test">Click Here</a>

在 Jquery 中:

$('#test').click(function() 
{
location.href='download'; //your download request mapping
setTimeout(function(){location.reload()},2000); //this will reload the current page after 2 seconds.
});

您的 Controller 代码将是:

@RequestMapping(value = "download", method = RequestMethod.GET)
public void download(Locale locale, Model model,HttpServletRequest request,HttpServletResponse response,HttpSession session) {
response.setContentType("text/csv");
response.setHeader("Content-disposition", "attachment; filename=evaluations.csv");

try
{
OutputStream outputStream = response.getOutputStream();
String outputResult = "xxxx, yyyy, zzzz, aaaa, bbbb, ccccc, dddd, eeee, ffff, gggg\n";
outputStream.write(outputResult.getBytes());
outputStream.flush();
outputStream.close();
} catch(Exception e) {

//logging
}
}

如果您想让页面加载时隐藏的 div 可见,则不要调用 location.reload()你应该打电话$('#divId').show()

关于java - 从网络应用程序下载文件时,页面的 HTML 代码写入文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52585453/

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