Привет, народ! У меня тут возникла проблема с загрузкой файлов на сайт. Хочу сделать так, чтобы пользователь не мог загрузить файл больше определенного размера. Но вот незадача - не хочется, чтобы человек сначала долго грузил огромный файл, а потом получал ошибку. Есть ли способ проверить размер файла прямо в браузере, до начала загрузки? Желательно без всяких там Flash или ActiveX, просто на JavaScript или Java. Буду благодарен за любые идеи!
да, знакомая ситуация! я тоже как-то с этим мучился. в итоге решил проблему с помощью html5 file api - оказалось, все довольно просто. добавляешь обработчик события на input, и там уже можно проверить размер файла до загрузки. главное не забыть про проверку на сервере тоже, а то мало ли. кстати, еще можно сделать красивый прогресс-бар, чтобы юзер видел, как идет загрузка - это реально улучшает юзабилити. в общем, не парься - с современными технологиями такие задачи решаются на раз-два!
Слушай, это реально можно сделать без всяких заморочек! Я недавно юзал HTML5 File API для такой же фишки. Прикинь, просто добавляешь событие на input и проверяешь размер файла до загрузки. Вот только не забудь серверную проверку тоже сделать, а то мало ли кто там что намудрит. А вообще, круто что ты об этом задумался - реально бесит, когда долго ждешь, а потом облом с загрузкой.
Да, можно легко решить эту задачу с помощью File API в HTML5. Добавь обработчик события ‘change’ на input type=“file”, и там проверяй размер файла через file.size. Если превышает лимит - выводи ошибку и очищай input. Вот пример кода:
const input = document.getElementById(‘fileInput’);
input.addEventListener(‘change’, () => {
if (input.files[0].size > 5 * 1024 * 1024) {
alert(‘Файл слишком большой!’);
input.value = ‘’;
}
});
Только не забудь еще и на сервере проверить, мало ли что.