Есть ли способ загрузить файл в ftp из Chrome?

Тема

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

В Android все компоненты выполняются в одном основном потоке. Задачи очереди Android и выполняйте их одну за другой в главном потоке. Когда долго выполняющиеся задачи выполняются, приложение перестает отвечать на запросы.

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

Обработчик

Поскольку android использует однопоточную модель, компоненты пользовательского интерфейса создаются не поточно-безопасными, то есть доступ к ним должен иметь только созданный им поток, то есть компонент пользовательского интерфейса должен обновляться в основном потоке. только. Поскольку компонент пользовательского интерфейса выполняется в основном потоке, задачи, выполняемые в рабочих потоках, не могут изменять компоненты пользовательского интерфейса. Это где Handler входит в картину. Обработчик с помощью Looper может подключиться к новому потоку или существующему потоку и запустить код, который он содержит в подключенном потоке.

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

AsyncTask

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

См. android thread, handler, asynctask и пулы потоков для примеров.

1
задан 05.05.2020, 20:06

1 ответ

Вы можете использовать CurlFTPFs для монтирования вашего FTP-сервера в локальный каталог, где вы сможете загружать файлы через любой менеджер загрузок, включая встроенный в Chrome. Файлы будут загружены автоматически и прозрачно.

CurlFtpFS - это файловая система для доступа к хостам FTP, основанная на FUSE и libcurl.

Сначала вам нужно установить CurlFTPs sudo aptitude install curlftpfs

. Отредактируйте ваш fstab gksudo gedit /etc/fstab и добавьте следующую строку. :

curlftpfs#ftpUsername:ftpPassword@ftp://ftpUrl /localDirectory fuse rw,uid=1000,umask=0777,user,suid,allow_other,exec,auto,utf8  0   1

Сохраните и выйдите, затем запустите mount -a

Вам нужно будет отредактировать /etc/rc.local, чтобы он работал правильно при загрузке. Добавьте следующее перед строкой exit 0:

sudo curlftpfs -o umask=0777,uid=1000,gid=1000,allow_other ftp://username:password@your.ftpserver.here /localdirectory
2
ответ дан 05.05.2020, 20:07
  • 1
    Q говорит файлы загрузки FTP-серверу (каталог) ... – JakeGould 05.05.2020, 20:07

Теги

Похожие вопросы