Есть ли преимущества передачи данных через webscoket?
Я пытаюсь загрузить изображения,файлы . Для этого я использую стандартную функцию FormFile("file"), но еще видел вариант, где используется FileReader js + webscoket, который отправляет как base64. Размер файлов будет, где то около 100 мб. Сейчас я использую webscoket как транспорт и думал использовать передачу файлов через него. Есть ли какие нибудь преимущество передачи файлов через webscoket, например отображать уровень загрузки и тд. Хотелось бы узнать стоит ли "возится" с webscoket или использовать стандартные возможности.
И без webscoket можно https://learn.javascript.ru/xhr-onprogress
Для загрузки пачки данных в одну сторону возится с webscoket определенно не стоит. Только гемора получите с обработкой исключительных ситуаций в стиле загрузили кусок данных и соединение порвалось, при этом часть данных долетела на сервер и началась обрабатываться.
где то около 100 мб.
Это один файл? Может имеет смысл пожать на клиенте перед отправкой?
Конвертация 100мб файла в 64-битную кодировку приведет к значительному увеличению объема передаваемых данных. Передавать бинарный файл таким образом не эффективно. Используйте стандартный механизм. Да, через веб-сокеты можно передавать файлы. Но это имеет смысл если вам нужно больше контроля над процессом передачи или надо реализовать какие-то специфические вещи.
Привет. Скажите, пожалуйста, о каком стандартном механизме идет речь?
И еще: если мне нужно будет передать файл размером 100мб на другой сервер, то как лучше это сделать? Задачи никогда такой не стояло, но интересно услышать, как люди это делают, раз появилась возможность узнать.
И еще: если мне нужно будет передать файл размером 100мб на другой сервер, то как лучше это сделать?
Самый оптимальный вариант — используя стандартный механизм, как в примере выше. Плюс имеет смысл добавить к файлу контрольную сумму и проверять её после завершения загрузки.