Я собирал небольшой личный сайт в рельсах и дошел до того, что мне нужно было загружать файлы. Это почти тривиальная задача, и у нее не было времени.Может ли кто-нибудь дать рациональное объяснение тому, почему веб-сервер должен помочь в создании баров для выполнения загрузки?
То, что занимает время - и медленно подрывает мое здравомыслие - задача обеспечения пользователя индикатором выполнения загрузки. Сейчас я видел по крайней мере дюжину решений, и все они, похоже, имеют одну общую черту - им требуется установка модуля на веб-сервере.
Учитывая, что у меня нет контроля над моим сервером, и, кажется, маловероятно, что хостинговая компания когда-либо возьмет на себя установку любого такого животного, я немного привязан. Что делает это по-настоящему безумным, так это то, что вовлечение сервера в этот процесс каким-либо образом, формой или формой абсолютно не нужно.
Подумайте об этом: ваш браузер открывает сокет удаленному серверу и начинает отправлять данные. Ваш браузер точно знает, сколько байтов должно быть отправлено, и, благодаря волшебству подтверждений TCP, также известно, сколько байтов поступило на сервер. Так почему же в названии The Flying Spaghetti Monster нет простого способа представить эти данные в Javascript без поиска с помощью взрывающегося сервера?
+1 "нет стандартного api". Однако я не согласен с вашим мнением о том, что помощь сервера будет необходима для предоставления информации о ходе. Просто зная, сколько от общего количества байтов, которые должны быть отправлены, передано TCP для транспорта, обеспечит достаточно значимый индикатор выполнения. – AnthonyWJones
Вам не нужно было догадываться. Эти данные легко доступны для всех, кто может объединить клиент Berkeley Sockets TCP ... который будет включать в себя любую команду программного обеспечения браузера. – Sniggerfardimungus