我的要求是上传 JPEG / PDF 文件&将其保存为 BLOB 。 我们做到了。但是如果发生重定向到JSP页面的服务器端错误,我将获得除文件之外的所有数据(例如输入字段,下拉菜单,复选框等)。 然后我再次需要选择一个文件。 有没有办法保存文件或从控制器发送文件到JSP。
答案 0 :(得分:1)
不,这是不可能的。
最简单的解决方法是将上传的文件保留在会话中,以便您可以在下一个表单提交期间恢复它。注意使用多个选项卡/窗口的用户:使用会话密钥清楚地标识用户正在使用的表单。例如,您可以生成一个唯一标识符,然后将其存储在表单的隐藏字段中。
为了能够再次下载,您需要提供从会话中检索文件的第二个映射。
答案 1 :(得分:0)
MultipartFile inputFile = fileUploadBean.getFile();
HttpSession session = request.getSession();
if(!(inputFile.isEmpty())) {
session.setAttribute("inputFile", inputFile);
}
logger.info("inputFile : " + session.getAttribute("inputFile"));
if(inputFile.isEmpty() && session.getAttribute("inputFile")!=null) {
inputFile = (MultipartFile)session.getAttribute("inputFile");
}
这就是我所做的。