Vaadin upload - TypeError: Cannot read property 'sizeBase' of null

466 views Asked by At

Vaadin version: 11.0.2

upload component : https://vaadin.com/components/vaadin-upload

When I upload a big file, and get an error on the client side (nothing in the server side):

client-D1AD34905AC1AA5B4DBECA8FB0306D92.cache.js:197 TypeError: Cannot read property '2' of null

Source code used (from vaadin website):

    MemoryBuffer buffer = new MemoryBuffer();
    Upload upload = new Upload(buffer);
    upload.setId("i18n-upload");

    upload.addSucceededListener(event -> System.out.println("Done!"));

    UploadI18N i18n = new UploadI18N();
    i18n.setDropFiles(
            new UploadI18N.DropFiles().setOne("Перетащите файл сюда...")
                    .setMany("Перетащите файлы сюда..."))
            .setAddFiles(new UploadI18N.AddFiles()
                    .setOne("Выбрать файл").setMany("Добавить файлы"))
            .setCancel("Отменить")
            .setError(new UploadI18N.Error()
                    .setTooManyFiles("Слишком много файлов.")
                    .setFileIsTooBig("Слишком большой файл.")
                    .setIncorrectFileType("Некорректный тип файла."))
            .setUploading(new UploadI18N.Uploading()
                    .setStatus(new UploadI18N.Uploading.Status()
                            .setConnecting("Соединение...")
                            .setStalled("Загрузка застопорилась.")
                            .setProcessing("Обработка файла..."))
                    .setRemainingTime(
                            new UploadI18N.Uploading.RemainingTime()
                                    .setPrefix("оставшееся время: ")
                                    .setUnknown(
                                            "оставшееся время неизвестно"))
                    .setError(new UploadI18N.Uploading.Error()
                            .setServerUnavailable("Сервер недоступен")
                            .setUnexpectedServerError(
                                    "Неожиданная ошибка сервера")
                            .setForbidden("Загрузка запрещена")))
            .setUnits(Stream
                    .of("Б", "Кбайт", "Мбайт", "Гбайт", "Тбайт", "Пбайт",
                            "Эбайт", "Збайт", "Ибайт")
                    .collect(Collectors.toList()));

    upload.setI18n(i18n);
    add(upload);

The problem come from the translation (without translation it works).

I reproduce the bug here with the vaadin flow upload example:

https://github.com/Tyvain/myalert

To test, just import any big file (around 50 Mb).

Live demo of the bug: https://runny.herokuapp.com/

How can I solve this ?

0

There are 0 answers