2015-08-19 5 views
1

Я пытаюсь загрузить изображение с помощью luaSocket.Загрузка изображения с использованием LuaSocket

Вот мой Lua код:

function uploadFile(dir) 
    local resp = {} 
    local body,code,headers,status = http.request{ 
    url = "my_url", 
    method = "POST", 
    headers = { 
     ["Content-Type"] = "application/x-www-form-urlencoded", 
     ["Content-Length"] = file_size 
    }, 
    source = ltn12.source.file(io.open(dir),"rb"), 
    sink = ltn12.sink.table(resp) 
    } 
    print(body,code,status) 
    if headers then for k,v in pairs(headers) do print(k,v) end end end 

Мой PHP код:

<?php 
copy("php://input","test"); 
echo("OK"); 
?> 

При попытке загрузить изображение я не получаю сообщение об ошибке, но тело и статус равны нулю, но код - «тайм-аут». Но скрипт отлично работает, если я пытаюсь загрузить текстовый файл.

Любая помощь приветствуется. Благодарю.

+0

Что такое 'file_size'? – hjpotter92

ответ

1

Вы передаете "rb" в качестве параметра ltn12.sink.file вместо io.open. Измените акт на:

source = ltn12.source.file(io.open(dir,"rb")),