Если у вас нет файла, а есть только ссылка, то придется спросить у сервера (xhr или fetch). И тут два варианта:
1. сервер может отдать размер в заголовке Content-Length
2. либо он не отдаст (это необязательный заголовок же) и тогда вы не узнаете размер файла пока не скачаете его целиком.