lua ftp.get сохранение в файл

Рейтинг: 2Ответов: 1Опубликовано: 04.05.2015

Пример ftp.get из учебника:

-- load the ftp support
local ftp = require("socket.ftp")

-- Log as user "anonymous" on server "ftp.tecgraf.puc-rio.br",
-- and get file "lua.tar.gz" from directory "pub/lua" as binary.

f, e = ftp.get("ftp://ftp.tecgraf.puc-rio.br/pub/lua/lua.tar.gz;type=i")

В результате выполнения получу содержимое файла lua.tar.gz в переменной f. А как сделать чтобы файл сохранился локально на диске? В случае если lua.tar.gz будет, к примеру, размером в 1Gb, то это оперативка забивается. Через гугл ответа не смог найти.

Спасибо.

Ответы

▲ 2

В расширенной версии этой функции есть параметр sink через который можно буферизовать чтение и эти буфера писать в файл.

http://w3.impa.br/~diego/software/luasocket/old/luasocket-2.0-beta/ftp.html

http://lua-users.org/wiki/FiltersSourcesAndSinks