Загрузить имя файла исчезает после обратной передачи - PullRequest
0 голосов
/ 03 июня 2019

У меня есть простая форма в моем файле jsp, с тип ввода = файл , называемый «вложение» для отправки вложений с помощью формы.

Когда пользователь передал неправильные данные в мою форму, я вернул постбэк на ту же страницу с формой.

Проблема с моим типом ввода = файл.Исчезает после обратной передачи.Я хочу сохранить информацию об этом файле, когда пользователь выберет свой файл.

Например - пользователь выбрал вложение, но он передал неверную информацию в форму, поэтому он получит обратную передачу на тот же файлстр.

Перед отправкой:

enter image description here

После отправки:

enter image description here

Как видите, вложение, выбранное пользователем ранее исчезает .

Проблема: Как сохранить этот файл после обратной передачи ??

Мой пример кода:

Файл 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!");
                }
            });
...