Я думаю, что для всех этих ответов требуется что-то на стороне сервера, чтобы определить размер файла (пожалуйста, исправьте меня, если я ошибаюсь), но, вероятно, было бы лучше предварительно загрузить размер из размера сервера или сделать запрос AJAXопределить размер файла, но последний кажется контрпродуктивным.