Проблема при импорте файла с помощью FileOutputStream, Vaadin 8 и Jetty на localhost

Ответов: 0

Проблема при импорте файла с помощью FileOutputStream, Vaadin 8 и Jetty на localhost

В основном я использую Vaadin Designer для разработки моего пользовательского интерфейса. Один из моих вариантов использования просит загрузить файл iCalendar, я использую грамматику (ANTLR), чтобы получить от нее то, что мне нужно. Я столкнулся с проблемой, когда, увидев документацию по загрузке Vaadin и применив ее к моему прецеденту при запуске, ничего не произойдет, и никакое исключение не будет выбрано. После небольшого исследования и отладки, я считаю, что это связано с тем, что по какой-то причине загрузка отключена.

Вот мой код, любая помощь?

private void uploadLogic() {

    class IcalendarUploader implements Upload.Receiver, Upload.SucceededListener, Upload.FinishedListener, Upload.FailedListener {

        @Override
        public OutputStream receiveUpload(String filename, String mimeType) {

            try {
                //We'll store the uploadad file as temporary file.
                tempFile = File.createTempFile("temp", ".ics");
                fos =  new FileOutputStream(tempFile);
            } catch (IOException e) {
                Notification.show(e.getMessage(), Notification.Type.WARNING_MESSAGE);
                return null;
            }


        }

        @Override
        public void uploadFinished(Upload.FinishedEvent event) {

            try {
                controller.importIcalendar(tempFile);
                tempFile.delete();

                Notification.show("Uploaded iCalendar file with :
" + controller.iCalendarDetails(),
                        Notification.Type.HUMANIZED_MESSAGE);

            } catch (IOException e) {

                Notification.show(e.getMessage(), Notification.Type.WARNING_MESSAGE);
            }

        }

        @Override
        public void uploadSucceeded(Upload.SucceededEvent event) {

            try {
                if(controller.saveTimeSlot()){
                    Notification.show("Uploaded iCalendar file with :
" + controller.iCalendarDetails()
                                    +"
Saved time slot with success",
                            Notification.Type.HUMANIZED_MESSAGE);
                }else {
                    Notification.show("Uploaded iCalendar file with :
" + controller.iCalendarDetails()
                                    + "
Time slot has an overlapp!",
                            Notification.Type.WARNING_MESSAGE);
                }
            } catch (DataConcurrencyException e) {
                Notification.show(e.getMessage(), Notification.Type.WARNING_MESSAGE);
            } catch (DataIntegrityViolationException e) {
                Notification.show(e.getMessage(), Notification.Type.WARNING_MESSAGE);
            }


        }

        @Override
        public void uploadFailed(Upload.FailedEvent event) {

            Notification.show("Upload failed", Notification.Type.ERROR_MESSAGE);
        }
    }

    IcalendarUploader receiver = new IcalendarUploader();
    upload.setReceiver(receiver);
}
00Java, файл-загрузка, я настаиваю, Анонсы, vaadin8,
Похожие вопросы
Яндекс.Метрика