Запретить прямую загрузку с прямой загрузкой activestorage - PullRequest
0 голосов
/ 09 мая 2019

Я хочу прослушать прямую загрузку: запуск или прямую загрузку: инициализировать события, а затем остановить загрузку. Другими словами, используя функцию DirectUpload activestorage.js, я загружаю файл при отправке формы, используя прямую загрузку. Я слушаю эти события, чтобы проверить тип и размер файла, прежде чем разрешить загрузку. Но что бы я ни делал, я не могу остановить загрузку.

   $('input#user_avatar').on('direct-upload:initialize', function (event) {
            event.preventDefault();
        });

Я пробовал это как в событии direct-upload: initialize, так и в событии direct-upload: start. Я пробовал event.preventDefault (), event.stopPropagation (), event.stopImmediatePropagation () и выдает ошибку. Несмотря ни на что, загрузка продолжается. ЕСЛИ ... Это отправка формы я должен отменить ... Я попробую это позже.

1 Ответ

0 голосов
/ 10 мая 2019

Ответ прост ... сделайте это до любого из активных событий хранения. Поместите обработчик onclick на кнопку отправки формы. Вы можете получить размер файла до загрузки.

$('#myfileinput')[0].files[0].size

Если размер> чем вам нравится, просто верните false и форма не будет отправлена.

...