UrlLoader
Спадковість: Object
Підтримувані платформи:
Available since version: Gideros 2012.2.2
Опис:
Клас UrlLoader використовується для завантаження даних з URL-адреси. Він може бути використаний для завантаження (і, можливо, збереження) текстових файлів, XML-файлів, файлів JSON, файлів зображень або двійкових файлів тощо.
Завантажені дані доставляються в поле event.data події Event.COMPLETE як рядок. Lua - восьмибайтне чисте, тому рядки можуть містити символи з будь-яким числовим значенням, включаючи вбудовані нулі. Це означає, що ви можете зберігати будь-які двійкові дані у рядку.
HTTP Request Methods
UrlLoader підтримує методи GET, POST, PUT і DELETE. Вони визначаються цими константами рядка:UrlLoader.GET = "get"
UrlLoader.POST = "post"
UrlLoader.PUT = "put"
UrlLoader.DELETE = "delete"
Приклади застосування:
Наведений нижче приклад показує завантаження файлу зображення з URL-адреси, збереження його в папці документів та його відображення
на сцені. Цей приклад також показує завантаження та обробку помилок.
Скачвання файлу
на сцені. Цей приклад також показує завантаження та обробку помилок.
Скачвання файлу
local loader = UrlLoader.new("http://example.com/image.png")
local function onComplete(event)
local out = io.open("|D|image.png", "wb")
out:write(event.data)
out:close()
local b = Bitmap.new(Texture.new("|D|image.png"))
stage:addChild(b)
end
local function onError()
print("error")
end
local function onProgress(event)
print("progress: " .. event.bytesLoaded .. " of " .. event.bytesTotal)
end
loader:addEventListener(Event.COMPLETE, onComplete)
loader:addEventListener(Event.ERROR, onError)
loader:addEventListener(Event.PROGRESS, onProgress)
Відправка файлу
local filename = "crate.png"
local file = io.open(filename, "rb")
local contents = file:read( "*a" )
local boundary = "somerndstring"
local send = "--"..boundary..
"\r\nContent-Disposition: form-data; "..
"name="..filename.."; filename="..filename..
"\r\nContent-type: image/png"..
"\r\n\r\n"..contents..
"\r\n--"..boundary.."--\r\n";
local headers = {
["Content-Type"] = "multipart/form-data; boundary="..boundary,
["Content-Length"] = #send,
}
local loader = UrlLoader.new("http://localhost/gideros.php", UrlLoader.POST, headers, send)
loader:addEventListener(Event.COMPLETE, function(e)
print(e.data)
end)
Методи, евенти та властивості:
Метод |
---|
UrlLoader.new |
UrlLoader:close |
UrlLoader:ignoreSslErrors |
UrlLoader:load |
Події |
---|
Event.COMPLETE |
Event.ERROR |
Event.PROGRESS |
Властивості |
---|
UrlLoader.DELETE |
UrlLoader.GET |
UrlLoader.POST |
UrlLoader.PUT |
спадковані Методи |
---|
Object:getBaseClass |
Object:getClass |
Object:isInstanceOf |
Немає коментарів:
Дописати коментар