Lua读取带有特定头的分块请求正文
2020-6-1 12:26:43
收藏:0
阅读:132
评论:1
我们使用Nginx + Lua并希望支持根据此解决方法进行分块上传,它通常有效。我的问题是我如何像往常一样处理上传请求-处理头,正文,eof:
local form, err = upload:new(chunk_size)
if not form then
ngx.log(ngx.ERR, "failed to new upload: ", err)
ngx.exit(500)
end
form:set_timeout(1000) -- 1 sec
while true do
local typ, res, err = form:read()
if not typ then
ngx.say("failed to read: ", err)
return
end
ngx.say("read: ", cjson.encode({typ, res}))
if typ == "eof" then
break
end
end
只有当我有分块上传头-H“Transfer-Encoding:chunked”时,才使用chunk脚本。
抱歉,如果这是一些明显的东西,但我在谷歌了几天后没有看到任何示例。但是我的建议是:
# 读取头
ngx.req.get_headers()
#读取正文:
ngx.req.get_body_data()
然后我不需要form:read()并迭代表格数组直到eof。感激任何链接,示例。
curl示例:
curl -X PUT localhost:8080/test -F file=@./myfile -H "Transfer-Encoding: chunked"
点赞
评论区的留言会收到邮件通知哦~
推荐文章
- Lua 虚拟机加密load(string.dump(function)) 后执行失败问题如何解决
- 我想创建一个 Nginx 规则,禁止访问
- 如何将两个不同的lua文件合成一个 东西有点长 大佬请耐心看完 我是小白研究几天了都没搞定
- 如何在roblox studio中1:1导入真实世界的地形?
- 求解,lua_resume的第二次调用继续执行协程问题。
- 【上海普陀区】内向猫网络招募【Skynet游戏框架Lua后端程序员】
- SF爱好求教:如何用lua实现游戏内调用数据库函数实现账号密码注册?
- Lua实现网站后台开发
- LUA错误显式返回,社区常见的规约是怎么样的
- lua5.3下载库失败
- 请问如何实现文本框内容和某个网页搜索框内容连接,并把网页输出来的结果反馈到另外一个文本框上
- lua lanes多线程使用
- 一个kv数据库
- openresty 有没有比较轻量的 docker 镜像
- 想问一下,有大佬用过luacurl吗
- 在Lua执行过程中使用Load函数出现问题
- 为什么 neovim 里没有显示一些特殊字符?
- Lua比较两个表的值(不考虑键的顺序)
- 有个lua简单的项目,外包,有意者加微信 liuheng600456详谈,最好在成都
- 如何在 Visual Studio 2022 中运行 Lua 代码?

在之前的回答中,我提到:
这件事已经完成了。我已经创建了一个名为 lua-buffet 的新库。它可以用来创建像普通的
ngx_lua协程套接字对象般的对象。尽管现在还没有实现所有的套接字方法,但目前它已经具备了lua-resty-upload所需要的所有方法。它还没有正式发布,但我很快就会发布第一个版本。我还 fork 并修改了
lua-resty-upload以添加套接字参数。稍后我会向上游仓库提交 Pull Request。这里有一个处理你的情况的示例:https://github.com/un-def/lua-buffet/tree/master/examples/resty-chunked-formdata