Загрузить файл напрямую на FTP-сервер в Python

1

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

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

  • 0
    «избегать этого прыжка» расплывчато. Вы хотите избежать (временно) сохранения файла в локальной файловой системе? Или вы хотите сохранить пропускную способность?
  • 0
    Привет @MartinPrikryl, я хочу избежать загрузки файлов на локальный компьютер, нам нужно просто отправить файл из API на FTP. Благодарю.
Теги:
ftp

3 ответа

0

Протокол FTP предусматривает инициацию передачи данных между двумя удаленными хостами от стороннего клиента. Это называется режим прокси. К сожалению, большинство серверов отключают его по соображениям безопасности, потому что раньше это был очень эффективный способ для атак DOS.

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

В любом другом случае данные должны будут пройти через клиента. Лучшее, что можно сделать, - это открыть оба соединения и передать данные на целевой хост, как только они будут получены из источника, без сохранения их на диске.

0

Один из вариантов будет иметь другую функцию API (TransferFile,...), которая будет передавать данные с сервера API на FTP-сайт. Затем вы просто вызываете этот метод API из своего кода, не загружая данные на локальный сервер.

0

Вы можете использовать байтовые данные файла (они будут храниться в оперативной памяти) и передавать их другому API.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню