Pull to refresh

Comments 61

Можно поставить телегу на обоих устройствах и перекидывать через неё.
Если на компе винда, то можно поднять на ПК простенький файловый сервер (с удобными настройками прав доступа и прочими плюшками) с помощью HTTP Fle Server (я его юзаю как минимум с 2017-го).


И в конце концов можно сделать на ПК шару через самбу и открыть её с помощью X-Plore с ведроида. Или поднять FTP-сервер и опять же зайти на него через X-Plore.
При этом не нужен браузер. И вылетать после 30 фоток не должно.

Чуваку в списке рассылки ещё более креативные способы предлагали. Своё облачное хранилище, например :) Но загрузчик мне и так пригодился бы, вот и решил совместить приятное с полезным.

Если на обоих устройствах есть интернет и браузер то file.pizza (peer-to-peer работает через WebRTC).

А инет-то зачем?
Он же не через внешние сервера должно работать?

Сам сайт file.pizza со скриптами для передачи файлов откуда то надо загрузить. И да, для пользователей в одной локальной сети, трафик всё равно идёт через интернет, маршрутизатор провайдера. Удобство способа в том, что ненужно устанавливать дополнительных программ не на одно из устройств.

для пользователей в одной локальной сети
Тогда фигня это.
Проще и быстрее торрентокачалки поставить на оба устройства и магнит кинуть.
Они в локалке и без инета должны файлы отдавать, вроде.

Способ хорош, когда нужно один раз обменяться файлами с людьми далёкими от IT которые не умеют в мессенджеры и соцсети, сайт легко запомнить "файл пицца".

с людьми далёкими от IT которые не умеют в мессенджеры и соцсети
Кмк, люди далёкие от IT чаще всего умеют таки в соц.сети (и как бы это не подавляющая часть этих соцсетей).
И у этих людей часто есть знакомые или родственники, ктороые умеют скачать и установить прогу (хотя бы из того же гуглплея).

Там курсивом в начале статьи вся суть. На дворе 2023 год, но до сих пор не существует простых штатных средств перекинуть файлик между устройствами на разных осях. Да даже внутри одной экосистемы. Везде пляски с бубном, гугление, принятие, телега. Т.е. всегда нужен какой-то внешний софт, который будет гонять, возможно, весьма приватные данные.

Хотя когда-то были ИК-порты, но где это всё теперь?

Штатные средства?

Если айфон, то он синхронизируется с айклауд, если андроид - то с гугл-фото. Для того чтобы перекинуть фотки с телефона на комп нужно ровно ноль дополнительных телодвижений.

Всё это требует интернета. Самое штатное из всех средств должно быть USB, как наикратчайший путь.

Ну даже USB не все проблемы решает. Вот прислали мне на телефоне в Viber ссылку на Zoom-митинг, например, а я ее хочу открыть на десктопе..

Либо сохраняй в файл и передавай его, либо ставь два одинаковых мессенджера на десктоп и телефон..

Шаринг через почту? Клиенты есть везде. Не самое элегантное, но рабочее решение.

Пользуюсь, и очень часто. Когда уж совсем прижмёт. Но с видосами не всегда работает из-за их дикого размера.

Ну да, вот так все и придумывают - каждый раз что-то отдельное.

У жены iPhone и макбук, но даже там если ей нужно передать несколько картинок с телефона на ноут - то ей проще открыть Viber-чат со мной, напихать их туда, а потом скачать на ноуте.

У меня на ноуте нет Viber, поэтому чтобы прислать ей ссылку - я копирую ее из браузера ноута в свой пустой канал-помойку в телеграме, потом на телефоне открываю телегу и оттуда копирую в Viber.

Тот, кто сделает удобный сервис и сможет его широко распространить - огребёт миллионы денег.

Как-то давно смотрел видос, где Пайк рассказывал про свой go, и в конце он говорил что-то про идею сервиса офигенно лёгкого обмена файлами. Я уже забыл суть, но, похоже, идея так и осталась идеей. За это время другие чуваки успели придумать свои деньги :)

Деньги лучше распространяются, по крайней мере.

Но иногда за них огребают, увы.

Что не так с передачей картинок эирдропом то?

Там как раз с файлами по несколько гб могут быть проблемы. А фоточки летают шустро.

Ну так извините, 2023 год на дворе. И я отвечал вот на это:

На дворе 2023 год, но до сих пор не существует простых штатных средств перекинуть файлик между устройствами на разных осях. Да даже внутри одной экосистемы. Везде пляски с бубном, гугление, принятие, телега.

Что может быть проще, чем сделать снимок на телефоне и моментально открыть его же на компе? Никакой возни с проводами, никаких плясок с бубном. Автоматическая синхронизация.

в linux всё печально до сих пор, а виндовсом я пользовался последний раз в 2012 :(

не знаю, кто вас заминусовал, но я это исправил, ибо нефиг

А вообще, есть места, где интернета нет даже в 2023. Особенно актуально для тех, кто бороздит моря под парусом.

А если интернет недоступен, а два устройства лежат рядом? Одно на Винде/линупсе, другое на иосе/андройде. Это ведь не какой-то экзотический кейс.

Компьютер без интернета в 2023 году c моей точки зрения экзотический кейс.
Но в крайнем случае всё равно существует USB кабель, просто он менее удобен, чем облако.

Это у ТСа, насколько я понял, проблема, что у него передача по кабелю отвалилась, но его решение в отсутствие интернета так же работать не будет.

вот-вот, локалки и должно быть достаточно. а где-то в поле можно wifi tethering сделать на одном устройстве и подключиться другим.

никогда не понимал людей, которые, если сосед просит одолжить дрель, вместо того, чтобы постучать в соседнюю дверь и отдать, отсылают её почтой в Орегон, чтобы откуда её переслали почтой же соседу.

Компьютер без интернета в 2023 году c моей точки зрения экзотический кейс.

Полёт в европу с двумя пересадками - насколько экзотика? :)

А если мы "дома" - у вас симка с мобильным интернетом прямо в ноутбуке? Всё же, раздавать через телефон - это пляски с бубном.

А вам прямо кровь из носу надо сидя в самолёте фотки синхронизировать и подождать это никак не может?

А если мы "дома" - у вас симка с мобильным интернетом прямо в ноутбуке? Всё же, раздавать через телефон - это пляски с бубном.

У меня роутер, к которому проводом подключен комп, и который раздаёт вай-фай для ноута и телефона. Мобильный интернет дома неудобен

Мне прям кровь из носу хочется иметь возможность передать файлы с мультиком с почти посаженного ноутбука на заряженный. Необязательно в самолёте, можно даже между пересадками.
> У меня роутер
Роутер на каждую встречу носите?

Мы вообще не о том, напомню тезис из оппоста:
>  И что самое смешное - передача файлов между девайсами до сих пор проблема. 

А вы меня пытаетесь убедить, что у меня либо повод не слишком веский, либо у вас wifi-роутер где-то рядом. Я в аэропорту, в другой стране, до стыковочного рейса 4 часа и мультики вот-вот закончатся вместе с батарейкой :D

Мне прям кровь из носу хочется иметь возможность передать файлы с мультиком с почти посаженного ноутбука на заряженный.

Если между ноутбуками, то флэшка / внешний жёсткий диск решают эту проблему.

Роутер на каждую встречу носите?

Нет. Зачем?

И что самое смешное - передача файлов между девайсами до сих пор проблема. 

Самое смешное, что это уже давно не проблема.

Я в аэропорту, в другой стране, до стыковочного рейса 4 часа и мультики вот-вот закончатся вместе с батарейкой 

А в аэропорту нигде-нигде нельзя найти бесплатную розетку чтобы подзарядиться?

Смотреть мультики просто с флешки?

Airdrop не требует интернета и работает между любыми эпл-устройствами.

Для всего остального - мессенджеры. Для очень больших файлов - провода и флешки.

Для очень больших файлов — провода и флешки.
«Очень большие» — это больше 10ГБ или больше 100ГБ?
Потому что порядка 10ГБ я обычно через WIFi закидываю посредством X-Plore на ведроиде и шары через самбу на виндовом ПК.
При этом файлы перекидываются в обоих направлениях именно со смарта.

Ну я сам передавал эирдропом фильмы гдето около 10 Гб - норм, быстро и все такое. Больше - пишут что может зависнуть и не передать.

Хотя когда-то были ИК-порты, но где это всё теперь?

С учетом скорости ИК-порта солнце успеет совершить свой регулярный оборот вокруг земли пока эта моргалка скопирует современные фоточки на 15+МБ.

C учётом развития технологий, можно было бы придумать и стандартизировать что-нибудь за 20 лет.

BabyFTP на винде и тотал коммандер на ведроиде.

Бэкап всего телефона быстрее, чем через мер3кий MTP даже через USB3

Бэкап всего телефона быстрее, чем через мер3кий MTP даже через USB3
Ни разу не быстрее: USB3.0 согласно спецификациям имеет скорость до 5Гбит/с, что примерно совпадает со скоростью чтения с SSD через SATA3.0.
В каком телефоне имеется полная скорость передачи данных стандарта ax (остальные развивают максимум ту же скорость, что и SATA3.0 (как ac) или же меньшую (все остальные))? При этом должно быть поддержка того же стандарта ax и у второго устройства.

Вы мне как теоретик. Я вам - как практик.

S23+ через USB3 кабель по MTP делает полную копию медленнее, чем через FTP и беспроводную сеть ac

Машина с FTP подключена в проводную сеть.

Может я слишком быстро пролистал код, но где мы удостоверяемся что грузим медиа файл, а не какой-нибудь бэкдор? Ну разве что на права 0666 уповаем?

А не пофиг ли? Мы же не собираемся загруженный файл выполнять.

Google Drive, Yandex Disc и куча других облачных сервисов. Все имеют клиенты на десктоп и мобилки. Даже делать ничего не надо, т.к. некоторые добавляют в контекстное меню пункт "Поделиться", который копирует файл для синхронизации. После чего на телефоне в клиенте он виден и может быть открыт.

Извиняюсь за занудство, но ES6 (он же ES2015) давным-давно поддерживается во всех мало-мальски современных веб-браузерах. Используя синтаксис ES2015+, можно сделать некоторые фрагменты кода чуть более простыми для восприятия.

Например, фрагмент

this.settings = Object.assign({}, default_settings, settings);

можно заменить на

this.settings = { ...default_settings, ...settings };

javascript - Object spread vs. Object.assign - Stack Overflow

Я что-то упускаю? Какая строчка попахивает мамонтом?

Запоздало заметил ваш ответ. Дополнил свой первый комментарий.

P.S. Да и var нынче не в моде. Уже не помню, когда последний раз его использовал. Хотя, опять же, это всего лишь мое занудство.

В порядке занудства такжу отрефакторил этот фрагмент:

        {
            const rows = this.elem.tbody.getElementsByTagName("tr");
            var row;
            if(this.row_index >= rows.length) {
                row = this.append_row();
            } else {
                row = rows[this.row_index];
            }
            this.row_index++;

            const cols = row.getElementsByTagName("td");
            cols[1].textContent = size.toString();
            return cols;
        }

Вот что у меня получилось:

        {
            const rows = this.elem.tbody.getElementsByTagName("tr");
            const row = this.row_index < rows.length
              ? rows[this.row_index];
              : this.append_row()
            this.row_index++;

            const cols = row.getElementsByTagName("td");
            cols[1].textContent = `${size}`;
            return cols;
        }

Весь код не читал, а ограничился этим фрагментом, поэтому мог где-то ошибиться. Но общий посыл, надеюсь, понятен.

Понял, спасибо! Javascript у меня очень эпизодический, но я стараюсь не отставать.

Я больше по бэкенду, но позволю себе выразить свое мнение: тернарный оператор выглядит отвратительно во всех языках. Читаемость кода совсем не улучшается. Хотя сэкономило две строчки, да.

Зато в данном кейсе тернарник позволил заменить var/let на const

О вкусах не спорят, есть тысяча мнений (с) Высоцкий

К примеру, Python'овский тернарный оператор не фонтан, а JavaScript'овский, на мой взгляд, очень даже читабельный, особенно если разбить код на три строки с отступом в последних двух.

Ternary operator: bad or good practice? - Stack Overflow

Хотя, как известно, миллионы леммингов не могут ошибаться...

P.S. Запоздало заметил у себя ошибку, а именно поставленную не в том месте точку с запятой:

            const row = this.row_index < rows.length
              ? rows[this.row_index];
              : this.append_row()

Исправляю:

            const row = this.row_index < rows.length
              ? rows[this.row_index]
              : this.append_row();

Я там поменял местами две строки ради того, чтобы заменить оператор >= на <. В общем, хотелось как лучше, а получилось как всегда. :)

Мне понравилось, поскольку убирается нависший сверху var. Но вот в другом месте

if(remaining_size < 1.5 * this.uploader.settings.chunk_size) {
    chunk_size = remaining_size;
} else {
    chunk_size = this.uploader.settings.chunk_size;
}

я бы оставил if-else как есть

Не вижу проблем с использованием тернарного оператора и в этом случае.

            const chunk_size = (remaining_size < 1.5 * this.uploader.settings.chunk_size)
              ? remaining_size
              : this.uploader.settings.chunk_size;

Длина первой строки составляет 90 символов, что в некоторых случаях может быть неудобно или запрещено правилами (линтер и иже с ними). Но даже в таком случае можно выкрутиться, дополнительно повысив читабельность кода:

            const size_upper_limit = 1.5 * this.uploader.settings.chunk_size;
            const chunk_size = (remaining_size < size_upper_limit)
              ? remaining_size
              : this.uploader.settings.chunk_size;

Здест скученность строк начинает напрягать. Назревает необходимость пустой строки между const

Возможно. Кстати, приведенный выше код можно еще немного улучшить:

			const is_below_limit = remaining_size < 1.5 * this.uploader.settings.chunk_size;
			const chunk_size = is_below_limit
              ? remaining_size
			  : this.uploader.settings.chunk_size;

Но, опять же, первая строка становится чересчур длинной.

Добавлю, что на практике использую традиционный JavaScript'овский camelCase, а не snake_case.

Я для себя пишу. Давным-давно читал какое-то исследование про оба стиля, и примкнул к сторонникам подчёркиваний. На работе, конечно, от коллектива отрываться нельзя, но для меня это сейчас неактуально.

Использовал "KDE Connect" для передачи данных и управления через WiFi. К сожалению, тоже не без проблем решение.

Именно, мой новый телефон работает только в одну сторону - на ПК с тела. Наоборот- ни в какую. А жаль- прога была хорошая...

Вставлю свои пять копеек в вопрос обмена телефон-ПК: я использую CX Проводник, у него есть функция FTP сервера. Не по кабелю, конечно, но через общий wi-fi. Реально спасает.

А так, да, через почту, телегу и т. д.


У меня когда-то был КПК на Windows, который бэкапился и синхронизировался через приложение на ПК - очень этой фишки не хватает на современных Android-ах. iPhone, вроде, можно через iTunes бэкапнуть.

Сейчас просто синхронизация через сервера где-то в США/Китае/Корее/etc.
Раньше да, можно было бэкапить через приложение производителя устройства.
То же OVI от Нокии. Хотя были и универсальные программы.

Если нужно постоянно держать синхронизированной какую-то папку с файлами, то можно воспользоваться Synthing, который позволяет быстро сделать то, что требуется. Кстати, должен работать и в отсутствии интернета, устройствам достаточно быть в локальной сети.

Sign up to leave a comment.

Articles