downloadUrlToFile
int index = downloadUrlToFile(string url, string file, [function statusCallback])
Описание
Загружает файл из интернета по URL по протоколу HTTP. Процесс загрузки полностью контролируем с помощью обработчика загрузки и может быть отменён.
Аргументы
string url
uRL ресурса
string file
путь к файлу
function statusCallback
функция-обработчик статуса загрузки, является необязательным параметром
Возвращаемые значения
int index
идентификатор загрузки
Пример использования
local dlstatus = require('moonloader').download_status local vk = require 'vkeys' function download_handler(id, status, p1, p2) if stop_downloading then stop_downloading = false download_id = nil print('Загрузка отменена.') return false -- прервать загрузку end if status == dlstatus.STATUS_DOWNLOADINGDATA then print(string.format('Загружено %d из %d.', p1, p2)) elseif status == dlstatus.STATUS_ENDDOWNLOADDATA then print('Загрузка завершена.') end end function main() print('Нажмите F1, чтобы начать загрузку файла.') while true do wait(0) if wasKeyPressed(vk.VK_F1) and not download_id then local url = 'http://nonexistentfilehosting.com/nonexistentfile.dat' local file_path = getWorkingDirectory() .. '/downloads/file.dat' download_id = downloadUrlToFile(url, file_path, download_handler) print('Загрузка начата. Нажмите F2, чтобы отменить её.') elseif wasKeyPressed(vk.VK_F2) and download_id then stop_downloading = true end end end