【发布时间】:2012-05-05 12:41:42
【问题描述】:
我使用 Corona(基于 Lua) 并且喜欢创建一个可以存储普通浏览器发布的数据的服务器。
我正处于获得“POST”序列的位置,现在只需要存储传入的数据。
一些问题。 Post之后我不只是拿到文件,先来几个 headers 和一个带有边界的“content-type”= Info like "----WebKitFormBoundary1AA ..."
现在我尝试分析我在该边界序列的第一次开始和第二次(结束边界)获得的每一行。我的代码看起来很乱,我相信应该有一个更简单的选择。如果您有解决方案,请发布。
谢谢克里斯
这是我在循环中处理的代码
_in 循环后没有错误来自:本地请求,err = client:receive()
if request:sub(1,4) == "POST" then
print ("GOT DATA UPLOAD")
request,err = client:receive()
local state = 0
local lastdummy = ""
while state ~= 3 and not err do
request,err = client:receive()
-- data between bounderies
if state == 2 then
if request == "\r" then print ("----OK"); end
print (request)
end
if state == 0 and request:sub(1,13) == "Content-Type:" then
a,b = string.find (request, "boundary=")
if a > 0 then
lastdummy = (string.sub(request,b+1))
state = 1
end
elseif state == 1 then
if request == "--"..lastdummy then
print ("startttt")
state = 2
end
elseif state == 2 then
if request == "--"..lastdummy then
print ("ENNNNND")
state = 3
end
end
end
state = 0
print ("done")
end
【问题讨论】: