2015-08-19 101 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")),