Давайте для начала уберём всё лишнее, нарисуем аккуратно, дадим заменять файл и напишем однозначное сообщение об ошибке:

Предусмотрим обратную связь при перетаскивании и наведении:

При клике пусть открывается стандартный диалог выбора файла. Кстати, заменяться файл должен даже если не нажать «Удалить». То, что кнопка появляется в самой форме, меня не смущает. Если после внедрения вдруг окажется, что люди не понимают, как загрузить, можно будет дописать каких‑то слов.

Отправить
Поделиться
Запинить

Комментарии

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

19 июля 2022

А если «Загрузите» сделать ссылкой, при клике на которую открывается окно выбора файла с компьютера?

24 июля 2022

Александра, в предложенном Ильёй варианте вся область работает такой ссылкой и реагирует на наведение мыши. См. последнюю картинку совета.

24 июля 2022
Андрей Марлоу

А не нужно ли показывать прогресс бар?

И разве нельзя не допустить загрузку больших файлов? Ждать, пока загрузится 200мб, чтобы потом выяснить, что облажался, — так себе.

21 окт 2022

Андрей, яваскрипт может проверить размер и тип выбранного файла ещё до загрузки: пример на Стэковерфлоу. Так что сообщение об ошибке появится сразу — не после загрузки, а вместо неё.

22 окт 2022

Рекомендуем другие советы