У меня есть простая форма в моем файле jsp, с тип ввода = файл , называемый «вложение» для отправки вложений с помощью формы.
Когда пользователь передал неправильные данные в мою форму, я вернул постбэк на ту же страницу с формой.
Проблема с моим типом ввода = файл.Исчезает после обратной передачи.Я хочу сохранить информацию об этом файле, когда пользователь выберет свой файл.
Например - пользователь выбрал вложение, но он передал неверную информацию в форму, поэтому он получит обратную передачу на тот же файлстр.
Перед отправкой:
После отправки:
Как видите, вложение, выбранное пользователем ранее исчезает .
Проблема: Как сохранить этот файл после обратной передачи ??
Мой пример кода:
Файл JSP:
<tr>
<td><span>Attachment </span></td>
<td><input id="attachFileObj" type="file" name="attachFileObj" size="60" value="${param.attachFileObj}" />
</tr>
Java-код для отправки вложения:
@Autowired
JavaMailSender javamailSender;
javamailSender.send(mimeMessage -> {
MimeMessageHelper mimeMsgHelperObj = new MimeMessageHelper(mimeMessage, true, "UTF-8");
mimeMsgHelperObj.setTo("xxx");
mimeMsgHelperObj.setFrom(request.getParameter("email"));
mimeMsgHelperObj.setText("xyz");
// Determine If There Is An File Upload. If Yes, Attach It To The Client Email
if ((attachFileObj != null) && (attachFileObj.getSize() > 0) && (!attachFileObj.equals("")) ) {
System.out.println("\nAttachment Name?= " + attachFileObj.getOriginalFilename() + "\n");
logger.info("\nAttachment Name?= " + attachFileObj.getOriginalFilename() + "\n");
mimeMsgHelperObj.addAttachment(attachFileObj.getOriginalFilename(), new InputStreamSource() {
public InputStream getInputStream() throws IOException {
return attachFileObj.getInputStream();
}
});
} else {
System.out.println("\nNo Attachment Is Selected By The User. Sending Text Email!\n");
logger.info("No Attachment Is Selected By The User. Sending Text Email!");
}
});